次の方法で共有


ISyncMgrHandlerCollection インターフェイス (syncmgr.h)

同期ハンドラー ID の列挙子を提供し、それらの同期ハンドラーをインスタンス化するメソッドを公開します。

継承

ISyncMgrHandlerCollection インターフェイスは、IUnknown インターフェイスから継承します。 ISyncMgrHandlerCollection には、次の種類のメンバーもあります。

メソッド

ISyncMgrHandlerCollection インターフェイスには、これらのメソッドがあります。

 
ISyncMgrHandlerCollection::BindToHandler

Sync Center によって呼び出されたときに、指定された同期ハンドラーをインスタンス化します。
ISyncMgrHandlerCollection::GetHandlerEnumerator

ユーザーが公開および管理する同期ハンドラーの ID へのアクセスを提供する列挙子を取得します。

注釈

同期ハンドラーの作成者は、このインターフェイスを実装して、複数のデバイスまたはコンピューターをサポートし、その詳細を個別に同期します。 Sync Center では、ハンドラー コレクションを使用して、個々の同期ハンドラーのインスタンス化を要求します。 また、ISyncMgrHandlerCollection を使用すると、同期ハンドラーの作成者は、それぞれをレジストリに個別に登録するのではなく、同期センターに動的にハンドラーを追加できます。

次の例は、このインターフェイスのアウトライン実装を示しています。

class CMyHandlerCollection : public ISyncMgrHandlerCollection
{
public:
    // IUnknown
    // ISyncMgrHandlerCollection
    IFACEMETHODIMP GetHandlerEnumerator(__out IEnumString **ppenum);
    IFACEMETHODIMP BindToHandler(
        __in LPCWSTR    pszHandlerID,
        __in REFIID     riid,
        __out void    **ppv);
};

STDMETHODIMP CMyHandlerCollection::GetHandlerEnumerator(
    __out IEnumString **ppenum)
{
    // IDs are retrieved from a data source such as the registry.
    // IDs could be retrieved either by this collection class 
    // or the factory method.
    return CEnumMyHandlerIDs_Create(ppenum);
}

STDMETHODIMP CMyHandlerCollection::BindToHandler(
    __in LPCWSTR    pszHandlerID,
    __in REFIID     riid,
    __out void    **ppv)
{
    // Map the pszHandlerID to the handler to create. This could be done
    // by the factory method or by some other method.
    return CMyHandler_Create(pszHandlerID, riid, ppv);
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー syncmgr.h