
Hi, I have compiled LibVirt 0.7.4 under mingw, and I want to use it with domain callback. Here is a a code sample of my situation (I'm using visual studio) : 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"); if (virDomainIsActive(dom) == 1) { // Start Domain int startDom = virDomainCreate(dom); if (startDom != 0) { virErrorPtr e = virGetLastError(); bool test = true; } } else { // Stop Domain int StopDom = virDomainDestroy(dom); if (StopDom != 0) { virErrorPtr e = virGetLastError(); bool test = true; } } return 0; } This code works well when I did'nt use callbacks, but when I use it, it throw an error at the virDomainCreate or virDomainDestroy call. In the application windows (console) I have an "unmarshaling msg", I have study the case it comme from the call of "xdr_string" method in the "xdr_remote_nonull_string" method (remote_protocol.c). I think, the xdr_string method is unable to marshall strings from the XDR* object to a char**. I've tried with dynamic linking or static linking of libvirt lib. Have you any clue to have work callbacks ? Best Regards, Arnaud Champion