Udostępnij za pośrednictwem


Odbieranie zdarzeń w usłudze

Usługa, która jest aplikacją konsolową, może zarejestrować program obsługi sterowania konsoli , aby otrzymać powiadomienie po wylogowaniu użytkownika. Nie jest jednak wysyłane żadne zdarzenie konsoli po zalogowaniu się interakcyjnego użytkownika. Aby uzyskać informacje na temat odbierania powiadomienia, gdy użytkownik loguje się, zobacz Tworzenie pakietu powiadomień Winlogon.

System emituje zdarzenia zmiany urządzenia do wszystkich usług. Te zdarzenia mogą być odbierane przez usługę w procedurze okna lub w procedurze sterowania usługą. Aby określić zdarzenia, które powinny zostać odebrane przez usługę, użyj funkcji RegisterDeviceNotification.

Pamiętaj, aby jak najszybciej obsługiwać zdarzenia urządzeń Plug and Play. W przeciwnym razie system może nie odpowiadać. Jeśli program obsługi zdarzeń ma wykonać operację, która może blokować wykonywanie (np. we/wy), najlepiej uruchomić kolejny wątek, aby wykonać operację asynchronicznie.

Gdy usługa wywołuje RegisterDeviceNotification, usługa określa również uchwyt okna lub uchwyt stanu usługi. Jeśli usługa określa uchwyt okna, procedura okna odbiera zdarzenia powiadomień. Jeśli usługa określa obsługę stanu usługi, program obsługi kontroli usługi odbiera zdarzenia powiadomień. Aby uzyskać więcej informacji, zobacz HandlerEx.

Obsługa powiadomień urządzenia zwróconych przez RegisterDeviceNotification musi zostać zamknięta przez wywołanie funkcji UnregisterDeviceNotification, gdy nie są już potrzebne.