[vbox-dev] Using python API bindings on Windows
mikhail.kovalev at gmail.com
Wed Jul 30 17:31:34 UTC 2014
Thanks a lot for an immediate answer! Moving the functionality to the
"server side" means that one will not need the console to e.g., restore a
2014-07-30 19:25 GMT+02:00 Klaus Espenlaub <klaus.espenlaub at oracle.com>:
> On 30.07.2014 17:49, Mikhail Kovalev wrote:
> > Ok, I've just noticed that there was already a thread on this topic
> > earlier this month (I joined the dev list later, so I did not see this
> > mail). The problem is that I am using 32 bit python on 64bit Win7. With
> > 64bit Python the problem disappears. So currently there is no way to
> > connect to 64 bit VBox from a 32 bit app (to get the console)? and what
> > if I connect to a 32 bit VBox (on 32bit Win) from a 32 bit app, is this
> > supposed to work?
> If everything is consistently 32 bit (Windows and python), everything is
> fine. Same for consistent 64 bit.
> The problem with the console being absent only happens with 32 bit
> python (or generally any 32 bit API client) and a 64 bit Windows. It's a
> shortcut we took when we finally managed to create working 32 bit COM
> support in a 64 bit package. It would be possible to make this work, but
> it's a significant effort (and would make a lot of code hard to read)
> which we don't want to make as it's already decided that all
> functionality which you're after will be moved to the server side in the
> next major release. It's a (for us) long known misdesign in the API that
> many snapshot operations are bolted to the console - which is nonsense,
> as these methods are also needed when there is no VM running. This is
> showing its ugly head in this combination.
> In other words: we consider it to be a bug that a session without a
> corresponding running VM has a console object at all, but this bug can't
> be fixed without breaking API compatibility, which we don't do for
> > Thanks,
> > Mikhail.
> > 2014-07-30 17:23 GMT+02:00 Mikhail Kovalev <mikhail.kovalev at gmail.com
> > <mailto:mikhail.kovalev at gmail.com>>:
> > Hi,
> > I am trying to use Python API bindings on Windows to control
> > virtualbox. I have the following problem: when I create a session
> > and lock a non-running VM with this session, I do not get a
> > reference to the console object. As a result, I cannot control the
> > non-running VM (e.g., I cannot restore a snapshot). I've tried to
> > use the following code:
> > from vboxapi import VirtualBoxManager
> > vbox_mgr = VirtualBoxManager(None, None)
> > vm = machByName(vbox_mgr, "win64")
> > snap = vm.findSnapshot("1")
> > session = vbox_mgr.mgr.getSessionObject(vbox_mgr.vbox)
> > vm.lockMachine(session, 2);
> > # session.console == None here
> > I've also tried to restore a snapshot using vboxshell frontend, and
> > I get the same result:
> > 'NoneType' object has no attribute 'restoreSnapshot'
> > I've tried it on 4.3.12 and on 4.3.14 - same result.
> > For a running VM the console object is there and everything works
> > fine. I can also start VMs using "lauchVMProcess".
> > Is it a bug or is it a problem of my installation?
> > Thanks in advance,
> > Mikhail
> vbox-dev mailing list
> vbox-dev at virtualbox.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vbox-dev