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


Метод ISyncMgrHandler::Activate (syncmgr.h)

Запрашивает активацию или деактивацию обработчика. Можно синхронизировать активный обработчик; неактивный обработчик не может.

Синтаксис

HRESULT Activate(
  [in] BOOL fActivate
);

Параметры

[in] fActivate

Тип: BOOL

Значение TRUE для активации; Значение FALSE для деактивации.

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

Тип: HRESULT

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

Комментарии

Активный обработчик отображается в папке Центра синхронизации и может быть синхронизирован. Неактивный обработчик отображается в папке Программы установки синхронизации и должен быть активирован (который перемещает его в папку Центра синхронизации), прежде чем его можно будет синхронизировать.

Состояние активации не следует путать с включенным состоянием. Активный обработчик можно отключить. Это означает, что он по-прежнему отображается в папке Центра синхронизации, но не может быть синхронизирован.

Центр синхронизации вызывает этот метод в следующих двух экземплярах.

  • Когда пользователь выбирает обработчик в папке Синхронизация установки и запускает свою задачу установки . Если обработчик поддерживает объект SYNCMGR_OBJECTID_QueryBeforeActivate , этот метод вызывается только в том случае, если операция пользовательского интерфейса, состоящая из диалогового окна с запросом на подтверждение активации обработчика, выполнена успешно.
  • Когда пользователь выбирает обработчик в папке Центра синхронизации и запускает задачу Удаления , но только если обработчик не установил флаг SYNCMGR_HPM_PREVENT_DEACTIVATE . Если обработчик поддерживает объект SYNCMGR_OBJECTID_QueryBeforeDeactivate , этот метод вызывается только при успешном выполнении операции пользовательского интерфейса.
Если флаг SYNCMGR_HPM_PREVENT_ACTIVATE задан в значении, полученном ISyncMgrHandler::GetCapabilities, вызов этого метода с запросом активации обработчика завершится ошибкой.

Состояние активации отдельного обработчика можно найти, вызвав IsActive.

Если обработчику не нужно выполнять какие-либо действия при активации, он может возвращать либо S_OK, либо E_NOTIMPL, как показано в примере ниже.

Примеры

В следующем примере показана простая реализация этого метода.

STDMETHODIMP CMyDeviceHandler::Activate(__in BOOL fActivate)
{
    return E_NOTIMPL;
}

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header syncmgr.h

См. также раздел

ISyncMgrHandler

ISyncMgrHandler::GetObject

ISyncMgrUIOperation::Run