ISharedPropertyGroup 接口同样是与 COM+ 服务相关的接口之一,用于操作 COM+ 共享属性组(Shared Property Group)。以下是简要的接口定义:
#include <comsvcs.h>

// ISharedPropertyGroup 接口的 GUID
EXTERN_C const IID IID_ISharedPropertyGroup;

// ISharedPropertyGroup 接口的定义
MIDL_INTERFACE("000001F6-0000-0000-C000-000000000046")
ISharedPropertyGroup : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetProperty(
        /* [in] */ REFGUID rguidProperty,
        /* [in] */ DWORD dwPropertyId,
        /* [in] */ DWORD dwTimeout,
        /* [in] */ IUnknown __RPC_FAR* pUnkCaller,
        /* [in] */ REFIID riid,
        /* [out] */ void __RPC_FAR* __RPC_FAR* ppv) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetProperty(
        /* [in] */ REFGUID rguidProperty,
        /* [in] */ DWORD dwPropertyId,
        /* [in] */ DWORD dwFlags,
        /* [in] */ DWORD dwTimeout,
        /* [in] */ IUnknown __RPC_FAR* pUnkCaller,
        /* [in] */ REFIID riid,
        /* [in] */ IUnknown __RPC_FAR* pUnk) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveProperty(
        /* [in] */ REFGUID rguidProperty,
        /* [in] */ DWORD dwPropertyId,
        /* [in] */ IUnknown __RPC_FAR* pUnkCaller) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveAllProperties(
        /* [in] */ DWORD dwTimeout,
        /* [in] */ IUnknown __RPC_FAR* pUnkCaller) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetGroupStatus(
        /* [in] */ DWORD dwStatus,
        /* [in] */ DWORD dwTimeout,
        /* [in] */ IUnknown __RPC_FAR* pUnkCaller) = 0;
};

这个接口提供了一系列方法,用于获取、设置、移除共享属性以及设置共享属性组的状态。和之前提到的 ISharedProperty 接口一样,这些接口也是在开发与 COM+ 服务相关的应用程序时可能会用到的接口。

如果你在开发这类应用程序,记得在使用这些接口之前先进行 COM 初始化(CoInitialize 或 CoInitializeEx)。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25092/Win32 API/Comsvcs.h/ISharedPropertyGroup