On 30.07.2014 19:31, Mikhail Kovalev wrote: > 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 snapshot?
Yes, the snapshot functionality (and a few more bits and pieces) will be moved to IMachine. This should've been done years ago, but you know, there's always more to do than time... Klaus > > > 2014-07-30 19:25 GMT+02:00 Klaus Espenlaub <[email protected] > <mailto:[email protected]>>: > > Mikhail, > > 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 > releases. > > Klaus > > > > > Thanks, > > Mikhail. > > > > > > 2014-07-30 17:23 GMT+02:00 Mikhail Kovalev > <[email protected] <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>>: > > > > 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 [email protected] https://www.virtualbox.org/mailman/listinfo/vbox-dev
