[vbox-dev] Using HGCM
Vitali.Pelenjow at Sun.COM
Mon Mar 1 02:54:42 PST 2010
currently you can use only already existing HGCM services. That is
VMMDevHGCMLoc_LocalHost actually is not supported.
This means that using your own HGCM service is possible only with VBox
OSE, where you can add code, which loads the HGCM service.
A service can be loaded using VMMDev::hgcmLoadService (see
src/VBox/Main/VMMDevInterface.cpp and ConsoleImpl2.cpp for examples).
HGCM service library name can be anything. The hgcmLoadService takes 2
parameters: library name and the service name.
On Linux 'dlopen' is used to load the library.
> Hi All,
> I hope this is the correct place to ask these question.
> I have been unable to get past the HGCM_CONNECT call.
> If I replace my service name "TestVboxHgcm" with "VboxSharedClipboard",
> and change then type from
> VMMDevHGCMLoc_LocalHost to VMMDevHGCMLoc_LocalHost_Existing
> I can get a successful connect.
> eg info.result == VINF_SUCCESS
> but when I use "TestVboxHgcm" info.result is set to -2900 (0xFFFFF4ac)
> The call to DeviceIoControl returns true and the return buffer size is
> 0x8c in both the failed call and the working call to the
> My Host OS is Ubuntu 9.10, the Guest is XP,
> VBox version 3.1.4-r57640_Ubuntu_karmic.
> What is the relationship between the service name and the Linux file
> name. eg For service "TestVboxHgcm" is the required file name
> "libTestVboxHgcm.so" or "TestVboxHgcm.so" or something else ?
> I have tried both of the above.
> Where does this file need to be installed: /usr/lib
> or /usr/lib/virtualbox or just on the LD_LIBRARY_PATH ?
> I have tried all 3.
> I have verified, using readelf, that the Linux service library has the
> entry :
> 55: 00000550 76 FUNC GLOBAL DEFAULT 12 VBoxHGCMSvcLoad
> Any help will be greatly appreciated
> Kind regards,
> vbox-dev mailing list
> vbox-dev at virtualbox.org
More information about the vbox-dev