<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.16490"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT face=Calibri>Hi there,</FONT></DIV>
<DIV><FONT face=Calibri></FONT> </DIV>
<DIV><FONT face=Calibri>I trying to enable domain events callbacks under a cross
compiled (mingwin under fedora12 env) libvirt 0.7.4 (I haven't been able to
compile more recent versions under mingwin) dll. Here a little sample of
code I'm trying to write :</FONT></DIV>
<DIV><FONT face=Calibri></FONT> </DIV>
<DIV><FONT face=Calibri></FONT> </DIV>
<DIV><FONT face=Arial>#include "stdafx.h"<BR>#include "windows.h"<BR>#include
"libvirt.h"<BR>#include "virterror.h"</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>static int domain_event(virConnectPtr
conn,<BR> virDomainPtr
dom,<BR> int
evt,<BR> int
detail,<BR> void
*opaque)<BR>{<BR> bool test = true;<BR> return 0;<BR>}</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>int _tmain(int argc, _TCHAR*
argv[])<BR>{<BR> virConnectPtr conn =
virConnectOpen("qemu+tcp://192.168.220.198/session");<BR> // Set
Callback<BR> int cbresult = virConnectDomainEventRegister(conn,
domain_event, NULL, NULL);<BR> // Lookup Domain<BR>
virDomainPtr dom = virDomainLookupByName(conn, "Test1");<BR> // Start
Domain<BR> int startDom = virDomainCreate(dom);<BR> if (startDom !=
0)<BR> {<BR> virErrorPtr e =
virGetLastError();<BR> bool test = true;<BR> }<BR> //
Wait<BR> Sleep(60000);<BR> // Stop Domain<BR> int StopDom =
virDomainDestroy(dom);<BR> if (StopDom !=
0)<BR> {<BR> virErrorPtr e =
virGetLastError();<BR> bool test = true;<BR> }<BR> return
0;<BR>}</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>I'm able to connect to the host and I'm able to start the
domain, but when I enable callback with "virConnectDomainEventRegister", it
fails, I have a message "unmarshalling msg" coming from the
"remoteDomainReadEvent" method of remote_driver.c in libvirt.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>I think about a problem near __stdcall or __cdecl calls or
this kind of thing, but I'm not sure.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Any clues ?</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Best regards,</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Arnaud Champion</FONT></DIV></BODY></HTML>