Share via


IMMDeviceEnumerator::UnregisterEndpointNotificationCallback-Methode (mmdeviceapi.h)

Die UnregisterEndpointNotificationCallback-Methode löscht die Registrierung einer Benachrichtigungsschnittstelle, die der Client in einem vorherigen Aufruf der IMMDeviceEnumerator::RegisterEndpointNotificationCallback-Methode registriert hat.

Syntax

HRESULT UnregisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parameter

[in] pClient

Zeiger auf die IMMNotificationClient-Schnittstelle des Clients. Der Client hat denselben Schnittstellenzeiger in einem vorherigen Aufruf der IMMDeviceEnumerator::RegisterEndpointNotificationCallback-Methode an den Geräteenumerator übergeben. Weitere Informationen finden Sie in den Hinweisen.

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.
E_NOTFOUND
Die angegebene Benachrichtigungsschnittstelle wurde nicht gefunden.

Hinweise

Der Client muss sicherstellen, dass das IMMNotificationClient-Objekt nach dem RegisterEndpointNotificationCallback-Aufruf und vor dem Aufrufen von UnregisterEndpointNotificationCallback nicht freigegeben wird. Diese Methoden rufen die IMPLEMENTIERUNGEN IMMNotificationClient::AddRef und IMMNotificationClient::Release des Clients nicht auf. Der Client ist für die Verwaltung der Verweisanzahl des IMMNotificationClient-Objekts verantwortlich. Der Client muss die Anzahl erhöhen, wenn der RegisterEndpointNotificationCallback-Aufruf erfolgreich ist, und den endgültigen Verweis erst nach dem Aufrufen von UnregisterEndpointNotificationCallback freigeben oder einen anderen Mechanismus implementieren, um sicherzustellen, dass das Objekt nicht gelöscht wird, bevor UnregisterEndpointNotificationCallback aufgerufen wird. Andernfalls werden die Ressourcen des IMMNotificationClient und jedes andere Objekt, das im selben Container implementiert ist, von der Anwendung verloren.

Weitere Informationen zu den Methoden AddRef und Release finden Sie in der Windows SDK-Dokumentation zur IUnknown-Schnittstelle.

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 mmdeviceapi.h

Weitere Informationen

IMMDeviceEnumerator-Schnittstelle

IMMDeviceEnumerator::RegisterEndpointNotificationCallback

IMMNotificationClient-Schnittstelle