Gerätebenachrichtigungen
Das System überträgt eine Reihe von Standardereignissen für Geräteänderungen an alle Anwendungen und Dienste. Sie müssen sich nicht registrieren, um diese Standardereignisse zu empfangen. Ausführliche Informationen finden Sie im Abschnitt Hinweise in RegisterDeviceNotification . Verwenden Sie die Funktion RegisterDeviceNotification , um andere Ereignisse anzugeben, die Ihre Anwendung oder Ihr Dienst empfangen soll.
Wenn eine Anwendung oder ein Dienst RegisterDeviceNotification aufruft, gibt sie auch das Fenster an, in dem die Benachrichtigungsereignisse empfangen werden. Dienste können anstelle eines Fensterhandles einen Dienst status-Handle angeben. Wenn ein Dienst seinen Dienst status-Handle angibt, empfängt sein Dienststeuerungshandler die Benachrichtigungsereignisse. Weitere Informationen finden Sie unter HandlerEx.
Achten Sie darauf, Plug & Play Geräteereignisse so schnell wie möglich zu behandeln. Andernfalls reagiert das System möglicherweise nicht mehr. Wenn Ihr Ereignishandler einen Vorgang ausführt, der die Ausführung möglicherweise blockiert (z. B. E/A), empfiehlt es sich, einen anderen Thread zu starten, um den Vorgang asynchron auszuführen.
Von RegisterDeviceNotification zurückgegebene Gerätebenachrichtigungshandles müssen geschlossen werden, indem die UnregisterDeviceNotification-Funktion aufgerufen wird, wenn sie nicht mehr benötigt werden.
Zugehörige Themen