Gerätebenachrichtigungen
Das System sendet eine Reihe von Standard-Geräteänderungsereignissen an alle Anwendungen und Dienste. Sie müssen sich nicht registrieren, um diese Standardereignisse zu empfangen. Weitere Informationen finden Sie im Abschnitt "Hinweise" in RegisterDeviceNotification. Verwenden Sie die RegisterDeviceNotification-Funktion, um andere Ereignisse anzugeben, die Ihre Anwendung oder Ihr Dienst empfangen soll.
Wenn eine Anwendung oder ein Dienst RegisterDeviceNotificationaufruft, gibt sie auch das Fenster an, das die Benachrichtigungsereignisse empfängt. Dienste können anstelle eines Fensterhandles ein Dienststatushandle angeben. Wenn ein Dienst das Dienststatushandle angibt, empfängt sein Dienststeuerungshandler die Benachrichtigungsereignisse. Weitere Informationen finden Sie unter HandlerEx.
Stellen Sie sicher, dass Plug- und Play-Geräteereignisse so schnell wie möglich behandelt werden. Andernfalls reagiert das System möglicherweise nicht mehr. Wenn ihr Ereignishandler einen Vorgang ausführt, der die Ausführung blockieren kann (z. B. E/A), empfiehlt es sich, einen anderen Thread zu starten, um den Vorgang asynchron auszuführen.
Gerätebenachrichtigungshandles, die von RegisterDeviceNotification- zurückgegeben werden, müssen geschlossen werden, indem die funktion UnregisterDeviceNotification aufgerufen wird, wenn sie nicht mehr benötigt werden.
Verwandte Themen