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 |