Hi there,
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 :
#include "stdafx.h"
#include "windows.h"
#include
"libvirt.h"
#include "virterror.h"
static int domain_event(virConnectPtr
conn,
virDomainPtr
dom,
int
evt,
int
detail,
void
*opaque)
{
bool test = true;
return 0;
}
int _tmain(int argc, _TCHAR*
argv[])
{
virConnectPtr conn =
virConnectOpen("qemu+tcp://192.168.220.198/session");
// Set
Callback
int cbresult = virConnectDomainEventRegister(conn,
domain_event, NULL, NULL);
// Lookup Domain
virDomainPtr dom = virDomainLookupByName(conn, "Test1");
// Start
Domain
int startDom = virDomainCreate(dom);
if (startDom !=
0)
{
virErrorPtr e =
virGetLastError();
bool test = true;
}
//
Wait
Sleep(60000);
// Stop Domain
int StopDom =
virDomainDestroy(dom);
if (StopDom !=
0)
{
virErrorPtr e =
virGetLastError();
bool test = true;
}
return
0;
}
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.
I think about a problem near __stdcall or __cdecl calls or
this kind of thing, but I'm not sure.
Any clues ?
Best regards,
Arnaud Champion