Il 25/03/2013 21:50, Tomoki Sekiyama ha scritto: > Hi, > > Paolo Bonzini <pbonz...@redhat.com> wrote: >> Il 14/02/2013 07:10, Tomoki Sekiyama ha scritto: >>> diff --git a/qga/vss-win32-provider/qga-provider.idl >> b/qga/vss-win32-provider/qga-provider.idl >>> new file mode 100644 >>> index 0000000..17abca0 >>> --- /dev/null >>> +++ b/qga/vss-win32-provider/qga-provider.idl >>> @@ -0,0 +1,20 @@ >>> +import "oaidl.idl"; >>> +import "ocidl.idl"; >>> + >>> +[ >>> + uuid(103B8142-6CE5-48A7-BDE1-794D3192FCF1), >>> + version(1.0), >>> + helpstring("QGAVSSProvider Type Library") >>> +] >>> +library QGAVSSHWProviderLib >>> +{ >>> + importlib("stdole2.tlb"); >>> + [ >>> + uuid(6E6A3492-8D4D-440C-9619-5E5D0CC31CA8), >>> + helpstring("QGAVSSProvider Class") >>> + ] >>> + coclass QGAVSSHWProvider >>> + { >>> + [default] interface IUnknown; >>> + }; >>> +}; >> >> Ok, I checked widl and it chokes on the importlib line. If that can be >> removed, it's fine to use widl. >> >> The invocation is >> >> widl -m32/-m64 -o qga-provider.tlb -t qga-provider.idl >> >> where code to choose between -m32 and -m64 is already in the configure >> script (search for `case "$cpu"`). >> >> Paolo > > Unfortunately, if I remove importlib("stdole2.tlb"), generated .tlb seems > rejected to register into Windows COM+ Catalog. > > Wine has stdole2.tlb in its fakedlls directory, but widl does not accept > this by > > error: Wrong or unsupported typelib magic 405a4d > > Even if I copied native stdole2.tlb, widl fails with the same error. > > Do you have any idea about this error?
No, I suggest you ask on the Wine mailing lists. In the meanwhile we can include a precompiled .tlb file in the QEMU repository and use midl. Paolo