Método ISyncMgrHandler::Activate (syncmgr.h)

Solicita que el controlador esté activado o desactivado. Se puede sincronizar un controlador activo; un controlador inactivo no puede.

Sintaxis

HRESULT Activate(
  [in] BOOL fActivate
);

Parámetros

[in] fActivate

Tipo: BOOL

TRUE para activar; FALSE para desactivar.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Un controlador activo aparece en la carpeta Centro de sincronización y se puede sincronizar. Aparece un controlador inactivo en la carpeta Configuración de sincronización y se debe activar (que lo mueve a la carpeta Centro de sincronización) antes de que se pueda sincronizar.

El estado de activación no debe confundirse con el estado habilitado. Se puede deshabilitar un controlador activo. Esto significa que todavía se muestra en la carpeta Centro de sincronización, pero que no se puede sincronizar.

El Centro de sincronización llama a este método en las dos instancias siguientes.

  • Cuando el usuario selecciona el controlador en la carpeta Configuración de sincronización e inicia su tarea de instalación . Si el controlador admite el objeto SYNCMGR_OBJECTID_QueryBeforeActivate , solo se llama a este método si la operación de la interfaz de usuario, que consta de un cuadro de diálogo que pide al usuario que confirme si desea activar el controlador, se realizó correctamente.
  • Cuando el usuario selecciona el controlador en la carpeta Centro de sincronización e inicia su tarea Eliminar , pero solo si el controlador no ha establecido la marca SYNCMGR_HPM_PREVENT_DEACTIVATE . Si el controlador admite el objeto SYNCMGR_OBJECTID_QueryBeforeDeactivate , solo se llama a este método si la operación de interfaz de usuario se realizó correctamente.
Si la marca de SYNCMGR_HPM_PREVENT_ACTIVATE se establece en el valor recuperado por ISyncMgrHandler::GetCapabilities, se producirá un error en una llamada a este método que solicita la activación del controlador.

El estado de activación de un controlador individual se puede encontrar llamando a IsActive.

Si el controlador no necesita realizar ninguna acción cuando se activa, puede devolver S_OK o E_NOTIMPL como se muestra en el ejemplo siguiente.

Ejemplos

En el ejemplo siguiente se muestra una implementación sencilla de este método.

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

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado syncmgr.h

Consulte también

ISyncMgrHandler

ISyncMgrHandler::GetObject

ISyncMgrUIOperation::Run