Michael, Thanks. This is the info I needed. I was trying not to modify the main line code. If there is no better way, I guess need to modify the host call to pass the vm info I needed. By the way, we have added copy/paste of files between guest and host, so a user can do Control-C/Control-V for file copying, etc. To do this, we added CF_HDROP format support to the shared clipboard. We used our own shared folder additions. if you would like to add this support to the main line of code, pls let me know. (we only did it on windows guest and host). We may add drag-drop support on windows later on Huihong
--- On Mon, 5/11/09, Michael Thayer <michael.tha...@sun.com> wrote: From: Michael Thayer <michael.tha...@sun.com> Subject: Re: [vbox-dev] How to get the current running IMachine instance inside a host service? To: "Huihong Luo" <huisi...@yahoo.com> Cc: "Josh Wright" <jshwri...@gmail.com>, vbox-dev@virtualbox.org Date: Monday, May 11, 2009, 2:10 AM Hello Huihong, Huihong Luo wrote: > take an example, the VBoxSharedFolders.dll is a service between guest and > host. This dll is running inside the same process as the VirtualBox.exe > launching the vm. I just need to find out the current vm this shared dll is > being used. > > I couldn't find any method to do this simple thing: where am I? HGCM services have no built-in mechanism for getting information about the VM they are running in and such-like. This is because they were originally designed to work in things like VBoxBFE, which is a simplified frontend where the normal VirtualBox APIs are not available. What you can do instead is to use the HGCM "host call" functionality to pass any needed information into the service when it is started. To see examples of this, grep for "HostCall" in src/VBox/Main/ConsoleImpl[2].cpp. If you need to get information or send notifications or whatever while the service is running, you can also register callbacks ("host service extensions") with the service. For an example of this, grep for "ServiceExtension" in ConsoleImpl2.cpp. BTW, I haven't forgotten the VbglR3GuestPropWait() issue you mentioned, but I haven't got round to looking at it yet. Sorry! Regards, Michael -- Sun Microsystems GmbH Michael Thayer Werkstrasse 24 VirtualBox engineer 71384 Weinstadt, Germany mailto:michael.tha...@sun.com Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin Haering
_______________________________________________ vbox-dev mailing list vbox-dev@virtualbox.org http://vbox.innotek.de/mailman/listinfo/vbox-dev