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
E_POINTER
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

IAudioEndpointVolume::RegisterControlChangeNotify

IAudioEndpointVolumeCallback-Schnittstelle