IPart::RegisterControlChangeCallback-Methode (devicetopology.h)
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 |