ISyncMgrControl::ActivateHandler メソッド (syncmgr.h)

ハンドラーをアクティブ化または非アクティブ化します。

構文

HRESULT ActivateHandler(
  [in] BOOL                  fActivate,
  [in] LPCWSTR               pszHandlerID,
  [in] HWND                  hwndOwner,
  [in] SYNCMGR_CONTROL_FLAGS nControlFlags
);

パラメーター

[in] fActivate

種類: BOOL

アクティブにする場合は TRUE アクティブ化する場合は FALSE。

[in] pszHandlerID

種類: LPCWSTR

ハンドラーの一意の ID を含むバッファーへのポインター。 この文字列は、終端の null 文字を含む最大長MAX_SYNCMGR_IDです。

[in] hwndOwner

型: HWND

ハンドラーが必要な UI を表示するために使用できるウィンドウへのハンドル。 この値には NULL を指定できます。

[in] nControlFlags

種類: SYNCMGR_CONTROL_FLAGS

ハンドラーのアクティブ化または非アクティブ化を同期的または非同期的に実行するかどうかを指定する、 SYNCMGR_CONTROL_FLAGS 列挙体の値。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

アクティブなハンドラーが Sync Center フォルダーに表示されます。非アクティブなハンドラーが [同期セットアップ] フォルダーに表示されます。

指定したハンドラーが GetCapabilities メソッドから返されたマスク内のSYNCMGR_HCM_QUERY_BEFORE_ACTIVATEまたはSYNCMGR_HCM_QUERY_BEFORE_DEACTIVATEを返す場合、ハンドラーがアクティブ化または非アクティブ化される前にクエリ操作が要求されます。 クエリ UI が要求されない場合、またはユーザーが操作を確認すると、ハンドラーの Activate メソッドが呼び出されます。

SYNCMGR_CF_WAITが nControlFlags パラメーターに設定されている場合、ActivateHandler は同期センターがこの通知を処理するまで戻りません。

次の例は、ハンドラーのプロシージャによる ISyncMgrControl::ActivateHandler の使用方法を示しています。

void MiscProc(...)
{
    ...

    // Get the Sync Center control object.
    ISyncMgrControl *pControl = NULL;
    
    hr = CoCreateInstance(CLSID_SyncMgrControl, 
                          CLSCTX_SERVER, 
                          IID_PPV_ARGS(&pControl));
    if (SUCCEEDED(hr))
    {
        // Tell Sync Center to activate our handler.
        hr = pControl->ActivateHandler(TRUE, 
                                       s_szMySyncHandlerID, 
                                       hwndOwner,
                                       SYNCMGR_CF_NOWAIT);
        pControl->Release();
    }

    ...

}

要件

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