Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die RegisterControlChangeCallback-Methode registriert die IControlChangeNotify-Schnittstelle, die der Client implementiert, um Benachrichtigungen über status Änderungen in diesem Teil zu erhalten.
Syntax
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
Parameter
[in] riid
Die funktionsspezifische Steuerungsschnittstelle, die auf Steuerungsänderungen überwacht werden soll. Weitere Informationen finden Sie in den Hinweisen.
[in] pNotify
Zeiger auf die IControlChangeNotify-Schnittstelle des Clients. Wenn die Methode erfolgreich ist, ruft sie die AddRef-Methode auf der IControlChangeNotify-Schnittstelle des Clients auf.
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, umfassen mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte, sind jedoch nicht darauf beschränkt.
| Rückgabecode | Beschreibung |
|---|---|
|
Parameter riid ist kein gültiger Steuerelement-Schnittstellenbezeichner. |
|
Zeiger pNotify ist NULL. |
Hinweise
Legen Sie parameter riid auf einen der folgenden GUID-Werte fest:
- 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)
Weitere Informationen zum __uuidof-Operator finden Sie in der Windows SDK-Dokumentation.
Bevor der Client seinen endgültigen Verweis auf die IControlChangeNotify-Schnittstelle veröffentlicht, sollte er die IPart::UnregisterControlChangeCallback-Methode aufrufen, um die Registrierung der Schnittstelle aufzuheben. Andernfalls gibt die Anwendung die Ressourcen aus, die von den IControlChangeNotify - und IPart-Objekten gehalten werden. Beachten Sie, dass RegisterControlChangeCallback die IControlChangeNotify::AddRef-Methode des Clients und UnregisterControlChangeCallback die IControlChangeNotify::Release-Methode aufruft. Wenn der Client einen Fehler verursacht, indem er seinen Verweis auf die IControlChangeNotify-Schnittstelle vor dem Aufruf von UnregisterControlChangeCallback freigibt, gibt das IPart-Objekt niemals seinen Verweis auf die IControlChangeNotify-Schnittstelle frei. Beispielsweise könnte eine schlecht entworfene IControlChangeNotify-ImplementierungUnregisterControlChangeCallback aus dem Destruktor für das IControlChangeNotify-Objekt aufrufen. In diesem Fall ruft der Client UnregisterControlChangeCallback erst auf, wenn das IPart-Objekt seinen Verweis auf die IControlChangeNotify-Schnittstelle freigibt, und das IPart-Objekt gibt seinen Verweis auf die IControlChangeNotify-Schnittstelle erst frei, wenn der Client UnregisterControlChangeCallback aufruft. Weitere Informationen zu den Methoden AddRef und Release finden Sie in der Erläuterung der IUnknown-Schnittstelle in der Windows SDK-Dokumentation.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | devicetopology.h |