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 |
---|---|
|
Der Parameter pNotify ist NULL. |
|
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