共用方式為


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

緩衝區的指標,其中包含處理程式的唯一標識符。 此字串長度上限MAX_SYNCMGR_ID包括終止 Null 字元。

[in] hwndOwner

類型: HWND

處理程式可用來顯示任何必要UI之視窗的句柄。 此值可以是 NULL

[in] nControlFlags

類型: SYNCMGR_CONTROL_FLAGS

來自 SYNCMGR_CONTROL_FLAGS 列舉的值,指定是否應該以同步或異步方式執行處理程式的啟用或停用。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

作用中的處理程式會出現在 [同步中心] 資料夾中;非作用中的處理程式會出現在 [同步設定] 資料夾中。

如果指定的處理程式在 GetCapabilities 方法傳回的遮罩中傳回SYNCMGR_HCM_QUERY_BEFORE_ACTIVATESYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE,則會在啟動或停用處理程式之前要求查詢作業。 如果未要求任何查詢 UI,或使用者確認作業之後,就會呼叫處理程式的 Activate 方法。

如果已在 nControlFlags 參數中設定SYNCMGR_CF_WAIT,則在同步中心處理此通知之前, 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