Método ISyncMgrControl::ActivateHandler (syncmgr.h)

Activa o desactiva un controlador.

Sintaxis

HRESULT ActivateHandler(
  [in] BOOL                  fActivate,
  [in] LPCWSTR               pszHandlerID,
  [in] HWND                  hwndOwner,
  [in] SYNCMGR_CONTROL_FLAGS nControlFlags
);

Parámetros

[in] fActivate

Tipo: BOOL

TRUE para activar; FALSE para desactivar.

[in] pszHandlerID

Tipo: LPCWSTR

Puntero a un búfer que contiene el identificador único del controlador. Esta cadena tiene una longitud máxima MAX_SYNCMGR_ID incluido el carácter nulo de terminación.

[in] hwndOwner

Tipo: HWND

Identificador de una ventana que el controlador puede usar para mostrar cualquier interfaz de usuario necesaria. Este valor puede ser NULL.

[in] nControlFlags

Tipo: SYNCMGR_CONTROL_FLAGS

Valor de la enumeración SYNCMGR_CONTROL_FLAGS que especifica si la activación o desactivación del controlador se debe realizar de forma sincrónica o asincrónica.

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

Aparece un controlador activo en la carpeta Centro de sincronización; Aparece un controlador inactivo en la carpeta Configuración de sincronización.

Si el controlador especificado devuelve SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE o SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE en la máscara devuelta desde el método GetCapabilities , se solicita la operación de consulta antes de activar o desactivar el controlador. Si no se solicita ninguna interfaz de usuario de consulta o una vez que el usuario confirma la operación, se llama al método Activate del controlador.

Si SYNCMGR_CF_WAIT se establece en el parámetro nControlFlags , ActivateHandler no devuelve hasta que sync Center haya procesado esta notificación.

Ejemplos

En el ejemplo siguiente se muestra el uso de ISyncMgrControl::ActivateHandler mediante el procedimiento de un controlador.

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();
    }

    ...

}

Requisitos

Requisito Value
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