Méthode IPart ::RegisterControlChangeCallback (devicetopology.h)
La méthode RegisterControlChangeCallback inscrit l’interface IControlChangeNotify, que le client implémente pour recevoir des notifications de status modifications apportées à cette partie.
Syntaxe
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
Paramètres
[in] riid
Interface de contrôle spécifique à la fonction qui doit être surveillée pour les modifications de contrôle. Pour plus d'informations, consultez la section Notes.
[in] pNotify
Pointeur vers l’interface IControlChangeNotify du client. Si la méthode réussit, elle appelle la méthode AddRef 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 paramètre riid n’est pas un identificateur d’interface de contrôle valide. |
|
Le pointeur pNotify a la valeur NULL. |
Remarques
Définissez le paramètre riid sur l’une des valeurs GUID suivantes :
- IID_IAudioAutoGainControl
- IID_IAudioBass
- IID_IAudioChannelConfig
- IID_IAudioInputSelector
- IID_IAudioLoudness
- IID_IAudioMidrange
- IID_IAudioMute
- IID_IAudioOutputSelector
- IID_IAudioPeakMeter
- IID_IAudioTreble
- IID_IAudioVolumeLevel
- IID_IDeviceSpecificProperty
- IID_IKsFormatSupport
- IID_IKsJackDescription
const IID IID_IAudioAutoGainControl __uuidof(IAudioAutoGainControl)
Pour plus d’informations sur l’opérateur __uuidof , consultez la documentation du Kit de développement logiciel (SDK) Windows.
Avant que le client publie sa référence finale à l’interface IControlChangeNotify , il doit appeler la méthode IPart ::UnregisterControlChangeCallback pour annuler l’inscription de l’interface. Sinon, l’application fuit les ressources détenues par les objets IControlChangeNotify et IPart . Notez que RegisterControlChangeCallback appelle la méthode IControlChangeNotify ::AddRef du client et UnregisterControlChangeCallback appelle la méthode IControlChangeNotify ::Release . Si le client se trompe en libérant 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’appelle 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