Поделиться через


Метод 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

Дескриптор окна, который может использоваться обработчиком для отображения любого необходимого пользовательского интерфейса. Это значение может иметь значение NULL.

[in] nControlFlags

Тип: SYNCMGR_CONTROL_FLAGS

Значение из перечисления SYNCMGR_CONTROL_FLAGS , указывающее, должна ли активация или деактивация обработчика выполняться синхронно или асинхронно.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

В папке Центра синхронизации появится активный обработчик; В папке Синхронизация установки отображается неактивный обработчик.

Если указанный обработчик возвращает SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE или SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE в маске, возвращенной методом GetCapabilities , операция запроса запрашивается перед активацией или отключением обработчика. Если пользовательский интерфейс запроса не запрашивается или пользователь подтверждает операцию, вызывается метод 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
Header syncmgr.h