Partager via


ISyncMgrControl ::EnableHandler, méthode (syncmgr.h)

Active ou désactive un gestionnaire.

Syntaxe

HRESULT EnableHandler(
  [in] BOOL                  fEnable,
  [in] LPCWSTR               pszHandlerID,
  [in] HWND                  hwndOwner,
  [in] SYNCMGR_CONTROL_FLAGS nControlFlags
);

Paramètres

[in] fEnable

Type : BOOL

TRUE pour activer ; FALSE à désactiver.

[in] pszHandlerID

Type : LPCWSTR

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

[in] hwndOwner

Type : HWND

Handle vers 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 de l’énumération SYNCMGR_CONTROL_FLAGS 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 apparaît dans le dossier centre de synchronisation ; un gestionnaire inactif apparaît dans le dossier Installation de la synchronisation.

Si le gestionnaire spécifié retourne SYNCMGR_HCM_QUERY_BEFORE_ENABLE ou SYNCMGR_HCM_QUERY_BEFORE_DISABLE dans le masque retourné par la méthode GetCapabilities , l’utilisateur reçoit une boîte de dialogue de confirmation demandée avant que le gestionnaire ne soit activé ou désactivé. Si aucune interface utilisateur de requête n’est demandée ou une fois que l’utilisateur a confirmé l’opération, la méthode Enable du gestionnaire est appelée.

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

Exemples

L’exemple suivant montre l’utilisation d’ISyncMgrControl ::EnableHandler 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 enable our handler.
        hr = pControl->EnableHandler(TRUE, 
                                     s_szMySyncHandlerID, 
                                     hwnd,
                                     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