[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 06/10] qemu-ga: Add Windows VSS provider to q

From: Tomoki Sekiyama
Subject: Re: [Qemu-devel] [PATCH v4 06/10] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze
Date: Wed, 26 Jun 2013 14:13:22 +0000

On 6/26/13 1:59 , "Paolo Bonzini" <address@hidden> wrote:

>Il 26/06/2013 00:31, Tomoki Sekiyama ha scritto:
>> From: Paolo Bonzini address@hidden on behalf of Paolo
>>Bonzini address@hidden
>>> Il 06/06/2013 17:06, Tomoki Sekiyama ha scritto:
>>>> +STDAPI VSSCheckOSVersion(void);
>>>> +
>>>> +STDAPI COMRegister(void);
>>>> +STDAPI COMUnregister(void);
>>>> +
>>>> +STDAPI DllRegisterServer(void);
>>>> +STDAPI DllUnregisterServer(void);
>>> Can you explain the difference between COMRegister/COMUnregister and
>>> DllRegisterServer/DllUnregisterServer (and why the COM+ part need not
>>> done by regsvr32)?  Also, why does COMUnregister call
>>> DllUnregisterServer but COMRegister does not call DllRegisterServer?
>> COMRegister and COMUnregister are called by`qemu-ga -s install`,
>> to register/unregister the DLL into/from COM+ application catalogue.
>> DllRegisterServer is automatically called inside
>> pCatalog->InstallComponent() (like regsvr32 does), and register
>> this DLL as a VSS provider. DllUnregisterServer will do the oposite.
>> ICOMAdminCatalog (pCatalog) does not provide a method to uninstall
>> component, so COMUnregister calls DllUnregisterServer by itself.
>Understood, thanks.  Just one question remains: why is the COM+ part not
>needed when you invoke regsvr32?

A VSS Provider is implemented as a COM+ application.

To register COM+ applications, regsvr32 is not enough.
It only register COM component, which is a part of COM+ application.
We need to use a specialized installer (COMRegister() in this series)
to the whole COM+ application to the catalogue.

Tomoki Sekiyama

reply via email to

[Prev in Thread] Current Thread [Next in Thread]