IAudioEndpointVolume::UnregisterControlChangeNotify-Methode (endpointvolume.h)
Die UnregisterControlChangeNotify-Methode löscht die Registrierung der Benachrichtigungsrückrufschnittstelle eines Clients, die der Client in einem vorherigen Aufruf der IAudioEndpointVolume::RegisterControlChangeNotify-Methode registriert hat.
Syntax
HRESULT UnregisterControlChangeNotify(
[in] IAudioEndpointVolumeCallback *pNotify
);
Parameter
[in] pNotify
Zeiger auf die IAudioEndpointVolumeCallback-Schnittstelle des Clients. Der Client hat denselben Schnittstellenzeiger an das Endpunktvolumeobjekt in einem vorherigen Aufruf der IAudioEndpointVolume::RegisterControlChangeNotify-Methode übergeben. Wenn die UnregisterControlChangeNotify-Methode erfolgreich ist, ruft sie die Release-Methode auf der IAudioEndpointVolumeCallback-Schnittstelle des Clients auf.
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, können mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte umfassen, sind jedoch nicht darauf beschränkt.
Rückgabecode | Beschreibung |
---|---|
|
Der Parameter pNotify ist NULL. |
Hinweise
Bevor der Client seinen endgültigen Verweis auf die IAudioEndpointVolumeCallback-Schnittstelle freigibt, sollte er UnregisterControlChangeNotify aufrufen, um die Registrierung der Schnittstelle aufzuheben. Andernfalls werden die Ressourcen der Objekte IAudioEndpointVolumeCallback und IAudioEndpointVolume von der Anwendung verloren. Beachten Sie, dass die IAudioEndpointVolume::RegisterControlChangeNotify-Methode die IAudioEndpointVolumeCallback::AddRef-Methode des Clients aufruft, und UnregisterControlChangeNotify die IAudioEndpointVolumeCallback::Release-Methode . Wenn der Client fehlert, indem er seinen Verweis auf die IAudioEndpointVolumeCallback-Schnittstelle vor dem Aufruf von UnregisterControlChangeNotify freigibt, gibt das IAudioEndpointVolume-Objekt nie seinen Verweis auf die IAudioEndpointVolumeCallback-Schnittstelle frei. Beispielsweise kann eine schlecht gestaltete IAudioEndpointVolumeCallback-ImplementierungUnregisterControlChangeNotify vom Destruktor für das IAudioEndpointVolumeCallback-Objekt aufrufen. In diesem Fall ruft der Client UnregisterControlChangeNotify erst auf, wenn das IAudioEndpointVolume-Objekt seinen Verweis auf die IAudioEndpointVolumeCallback-Schnittstelle freigibt, und das IAudioEndpointVolume-Objekt gibt seinen Verweis auf die IAudioEndpointVolumeCallback-Schnittstelle erst frei, wenn der Client UnregisterControlChangeNotify aufruft. Weitere Informationen zu den Methoden AddRef und Release finden Sie in der Windows SDK-Dokumentation zur IUnknown-Schnittstelle .
Ein Codebeispiel, das UnregisterControlChangeNotify aufruft, finden Sie unter Endpunktvolumesteuerelemente.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | endpointvolume.h |
Weitere Informationen
IAudioEndpointVolume-Schnittstelle