Метод 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 , этот метод вызывается только при успешном выполнении операции пользовательского интерфейса.
Состояние активации отдельного обработчика можно найти, вызвав IsActive.
Если обработчику не нужно выполнять какие-либо действия при активации, он может возвращать либо S_OK, либо E_NOTIMPL, как показано в примере ниже.
Примеры
В следующем примере показана простая реализация этого метода.
STDMETHODIMP CMyDeviceHandler::Activate(__in BOOL fActivate)
{
return E_NOTIMPL;
}
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | syncmgr.h |