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

Active ou désactive un gestionnaire.

Syntaxe

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

Paramètres

[in] fActivate

Type : BOOL

TRUE à activer ; FALSE à désactiver.

[in] pszHandlerID

Type : LPCWSTR

Pointeur vers une mémoire tampon contenant l’ID unique du gestionnaire. Cette chaîne est de longueur maximale MAX_SYNCMGR_ID y compris le caractère null de fin.

[in] hwndOwner

Type : HWND

Handle d’une fenêtre qui peut être utilisée par le gestionnaire pour afficher toute interface utilisateur nécessaire. Cette valeur peut être NULL.

[in] nControlFlags

Type : SYNCMGR_CONTROL_FLAGS

Valeur du SYNCMGR_CONTROL_FLAGS énumération spécifiant si l’activation ou la désactivation du gestionnaire doit être effectuée de manière synchrone ou asynchrone.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Un gestionnaire actif s’affiche dans le dossier Centre de synchronisation ; un gestionnaire inactif s’affiche dans le dossier Installation de synchronisation.

Si le gestionnaire spécifié retourne SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE ou SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE dans le masque retourné par la méthode GetCapabilities , l’opération de requête est demandée avant l’activation ou la désactivation du gestionnaire. Si aucune interface utilisateur de requête n’est demandée ou une fois que l’utilisateur confirme l’opération, la méthode Activate du gestionnaire est appelée.

Si SYNCMGR_CF_WAIT est défini dans le paramètre nControlFlags , ActivateHandler ne retourne pas tant que le Centre de synchronisation n’a pas traité cette notification.

Exemples

L’exemple suivant montre l’utilisation d’ISyncMgrControl ::ActivateHandler par la procédure d’un gestionnaire.

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

    ...

}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête syncmgr.h