[vbox-dev] Custom front-end using non-OSE SDK
brobinson at cantabilesoftware.com
Tue Oct 27 05:34:17 PDT 2009
I suspected this was the issue from examining the source for VBoxHeadless,
however I believe this is something I _can't_ implement because it needs to
work with VBox's built in VRDP server - hence my posting here.
What I need is either an API to create frame buffers that are connected to
the VRDP server, or simply a method that creates them and wires them up.
From: Vitali.Pelenjow at Sun.COM [mailto:Vitali.Pelenjow at Sun.COM]
Sent: Tuesday, 27 October 2009 7:16 PM
To: Brad Robinson
Cc: vbox-dev at virtualbox.org
Subject: Re: [vbox-dev] Custom front-end using non-OSE SDK
you get a black VRDP screen because your VM does not have a framebuffer.
It is necessary to implement IFramebuffer interface and then register it
with the display:
IFramebuffer *pFramebuffer = new MyFramebuffer();
CComPtr <IDisplay> display;
The Framebuffer implementation should allocate a memory buffer for the
VM screen in RequestResize method.
Brad Robinson wrote:
> Hi Frank/All,
> I've put a sample program that demonstrates the problems I'm seeing here:
> It's a simple Windows dialog app that hosts a VBox VM using the COM API
> the SDK. Error handling is minimal. I've included VS2005
> solution/project/source code + x86 and x64 executables.
> To use it:
> 1. Copy the appropriate exe to c:\program files\sun\virtualbox (not sure
> this is necessary, but not a big issue)
> 2. Run it
> 3. Enter the name of a VBox machine with VRDP enabled
> 4. Click Power Up.
> 5. Connect to the machine from remote desktop, notice the blank screen.
> 6. Type something on the keyboard
> 7. Close remote desktop
> 8. Click Save State to close the machine.
> 9. Click Power Up again, notice the error.
> 10. Close VBoxTest and run up the same machine in the regular Virtual Box
> front end. Notice keys typed in RD above were received.
> The issues are:
> 1. Blank VRDP screen
> 2. Inability to relaunch the same VM
> What I'm trying to build is a VBox front end that will host a machine and
> run it as a Windows system tray Icon. I have few environments where I
> to have a number of server type machines running for development purposes
> and most of the time I just want them out of the way. I'm happy to
> this to the community if I can get it working, but I'm not having much
> I've already tried spawning VBoxHeadless which seems to work fine until
> shutdown/logoff when Windows just kills it without it or my app having a
> chance to save it.
> Any help in resolving these issues would be greatly appreciated.
> -----Original Message-----
> From: Frank.Mehnert at Sun.COM [mailto:Frank.Mehnert at Sun.COM]
> Sent: Monday, 26 October 2009 11:56 PM
> To: Brad Robinson
> Subject: Re: [vbox-dev] Custom front-end using non-OSE SDK
> please reply to the mailing list if possible because I get tons of mails
> each day and probably other developers want to follow the discussion as
> On Monday 26 October 2009, Brad Robinson wrote:
>> Thanks for getting back to me on this. I'll put together a simpler
>> example as my real project brings in a couple of custom libraries you
>> won't be interested in. Shall I just email it directly to you?
> That would be possible. Or, if the compressed code isn't too long, you
> post it to the mailing list as well.
>> Btw: I've noticed in the VBoxHeadless OSE source code there's code
>> that sets a "new VRDPFramebuffer" to each display of the console...
>> this is what I suspect I'm missing, but not sure how to implement with
> Right, the VRDPFramebuffer is closed source and actually I'm not sure if
> will be able to write a custom frontend which can do RDP. Did you already
> have a look at VBoxSDL?
> Kind regards,
> Dr.-Ing. Frank Mehnert
> Sitz der Gesellschaft:
> Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten
> Amtsgericht München: HRB 161028
> Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel
> des Aufsichtsrates: Martin Häring
> vbox-dev mailing list
> vbox-dev at virtualbox.org
More information about the vbox-dev