Opened 9 years ago
#14230 new defect
VirtualBox ISession get_Console returns S_OK but IConsole ptr is NULL
Reported by: | vboxcomapijunkie | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.3.28 |
Keywords: | VirtualBox MS COM API | Cc: | |
Guest type: | Linux | Host type: | Windows |
Description
Hi,
I am running into a strange thing here. My (pseudo) code (see below) works fine on Windows 7 SP1 / 64bit with 64bit VirtualBox and 64bit app binary. But when I compile the stuff not as x64 but Win32 (32bit binary on SysWOW64), the app crashes because get_Session returns S_OK but the delivered pointer IConsole * is NULL !!! Is this a bug or is it not possible to run a Win32 binary on Win7/64 with VirtualBox/64? I thought that it should be completely transparent using Microsoft COM? Here is the pseudo code:
BSTR machineName = SysAllocString(L"VMName"); IMachine *pMachine = NULL; if (FAILED(pVBOX->FindMachine(machineName,&pMachine))) {//do error stuff} if (FAILED(pMachine->LockMachine(pVBOXSession,LockType_Write))) {//do error stuff} pMachine->Release, pMachine = NULL; if (FAILED(pVBOXSession->get_Machine(&pMachine))) // get mutable one {// do error stuff} IConsole *pConsole = NULL; if (FAILED(pVBOXSession->get_Console(&pConsole))) {// do error stuff }
[...] At this position, pConsole is NULL on Win32 (SysWOW64) and not NULL on Win64 (x64). Any ideas?
Thank you.