Freigeben über


IMMDeviceEnumerator::RegisterEndpointNotificationCallback-Methode (mmdeviceapi.h)

Die RegisterEndpointNotificationCallback-Methode registriert die Benachrichtigungsrückrufschnittstelle eines Clients.

Syntax

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parameter

[in] pClient

Zeiger auf die IMMNotificationClient-Schnittstelle , die der Client für Benachrichtigungsrückrufe registriert.

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_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Diese Methode registriert eine IMMNotificationClient-Schnittstelle, die vom System aufgerufen wird, wenn sich die Rollen, der Zustand, das Vorhandensein oder die Eigenschaften eines Endpunktgeräts ändern. Der Aufrufer implementiert die IMMNotificationClient-Schnittstelle.

Wenn Benachrichtigungen nicht mehr benötigt werden, kann der Client die METHODE IMMDeviceEnumerator::UnregisterEndpointNotificationCallback aufrufen, um die Benachrichtigungen zu beenden.

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::UnregisterEndpointNotificationCallback

IMMNotificationClient-Schnittstelle