[vbox-dev] help ! want to implement my IFramebuffer
hanjackcyw at gmail.com
Sat Feb 21 20:05:36 PST 2009
Thank you very much for taking time to view my mail.
I want to implement an IFramebuffer to capture the existing working guest
OS on my Windows XP.
I am using vs2008 aad ATL class library.
First, I use the pVirtualBox->OpenExistingSession() to get the ISession.
Then I use the ISession to get IConsole , use IConsole to get IDisplay, use
IDisplay->RegisterExternalFramebuffer() to register my Framebuffer. then
And in my implementation of IFramebuffer, I noticed IDisplay called 2 times
of my get_Address.
At the first time of call get_Address, I have not received the
RequestResize() call, so I returned NULL.
At the second time of call get_Address, I returned the VRAM that got from
Then, program exit !!!!!!!!!!! I noticed the last line in my log file is
the get_Address return VRAM.
In my implementation of IFramebuffer:
IFramebuffer->get_UsesGuestVRAM, I set to TRUE.
IFramebuffer->get_PixelFormat, I set to FramebufferPixelFormat_FOURCC_RGB.
Why is that ????
I tried many ways to fix this. But the last good thing is that when I use
CoTaskMemAlloc() to allocate memory 2 times as my buffer in get_Address(),
program did not exit.
And I also received NotifyUpdate(). But the existing guest os not working at
all ( means I could not use my mouse to control it ) !
And the my buffer has nothing data in it.
Looking forward to your early reply! Thank you!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vbox-dev