Condividi tramite


Metodo ISyncMgrControl::ActivateHandler (syncmgr.h)

Attiva o disattiva un gestore.

Sintassi

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

Parametri

[in] fActivate

Tipo: BOOL

TRUE da attivare; FALSE da disattivare.

[in] pszHandlerID

Tipo: LPCWSTR

Puntatore a un buffer contenente l'ID univoco del gestore. Questa stringa è di lunghezza massima MAX_SYNCMGR_ID incluso il carattere null terminante.

[in] hwndOwner

Tipo: HWND

Handle a una finestra che può essere usata dal gestore per visualizzare qualsiasi interfaccia utente necessaria. Questo valore può essere NULL.

[in] nControlFlags

Tipo: SYNCMGR_CONTROL_FLAGS

Valore dell'enumerazione SYNCMGR_CONTROL_FLAGS che specifica se l'attivazione o la disattivazione del gestore devono essere eseguite in modo sincrono o asincrono.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Viene visualizzato un gestore attivo nella cartella Sync Center; viene visualizzato un gestore inattivo nella cartella Di installazione sincronizzazione.

Se il gestore specificato restituisce SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE o SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE nella maschera restituita dal metodo GetCapabilities , l'operazione di query viene richiesta prima che il gestore venga attivato o disattivato. Se non viene richiesta alcuna interfaccia utente di query o una volta che l'utente conferma l'operazione, viene chiamato il metodo Activate del gestore.

Se SYNCMGR_CF_WAIT è impostato nel parametro nControlFlags , ActivateHandler non restituisce finché Sync Center non ha elaborato questa notifica.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo di ISyncMgrControl::ActivateHandler tramite la procedura di un gestore.

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

    ...

}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione syncmgr.h