Méthode IPart ::UnregisterControlChangeCallback (devicetopology.h)
La méthode UnregisterControlChangeCallback supprime l’inscription d’une interface IControlChangeNotify précédemment inscrite par le client par un appel à la méthode IPart ::RegisterControlChangeCallback .
Syntaxe
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
Paramètres
[in] pNotify
Pointeur vers l’interface IControlChangeNotify dont l’inscription doit être supprimée. Le client a passé ce même pointeur d’interface vers l’objet de composant dans un appel précédent à la méthode IPart ::RegisterControlChangeCallback . Si la méthode UnregisterControlChangeCallback réussit, elle appelle la méthode Release sur l’interface IControlChangeNotify du client.
Valeur retournée
Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.
Code de retour | Description |
---|---|
|
Le pointeur pNotify a la valeur NULL. |
|
L’interface instance *pNotify n’est pas inscrite actuellement. |
Remarques
Avant que le client publie sa référence finale à l’interface IControlChangeNotify , il doit appeler UnregisterControlChangeCallback pour annuler l’inscription de l’interface. Sinon, l’application fait fuiter les ressources détenues par les objets IControlChangeNotify et IPart . Notez que la méthode IPart ::RegisterControlChangeCallback appelle la méthode IControlChangeNotify ::AddRef du client, et UnregisterControlChangeCallback appelle la méthode IControlChangeNotify ::Release . Si le client se trompe en relâchant sa référence à l’interface IControlChangeNotify avant d’appeler UnregisterControlChangeCallback, l’objet IPart ne libère jamais sa référence à l’interface IControlChangeNotify . Par exemple, une implémentation IControlChangeNotify mal conçue peut appeler UnregisterControlChangeCallback à partir du destructeur de l’objet IControlChangeNotify . Dans ce cas, le client n’appellera pas UnregisterControlChangeCallback tant que l’objet IPart ne libère pas sa référence à l’interface IControlChangeNotify , et l’objet IPart ne libère pas sa référence à l’interface IControlChangeNotify tant que le client n’appelle pas UnregisterControlChangeCallback. Pour plus d’informations sur les méthodes AddRef et Release , consultez la discussion sur l’interface IUnknown dans la documentation du Kit de développement logiciel (SDK) Windows.
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 | devicetopology.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour