[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 04/10] qemu-ga: Add Windows VSS provider to
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC PATCH 04/10] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze |
Date: |
Tue, 26 Mar 2013 08:09:29 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
Il 25/03/2013 21:50, Tomoki Sekiyama ha scritto:
> Hi,
>
> Paolo Bonzini <address@hidden> 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