Udostępnij przez


Procedury KeXxxTimer, obiekty KTIMER i kontrolery DPC

Począwszy od systemu Windows 2000, zestaw procedur czasomierza KeXxx jest dostępny do zarządzania czasomierzami. Te procedury używają obiektów czasomierza opartych na strukturze KTIMER . Aby utworzyć obiekt czasomierza, sterownik najpierw przydziela magazyn dla struktury KTIMER . Następnie kierowca wywołuje procedurę, taką jak KeInitializeTimer lub KeInitializeTimerEx , aby zainicjować tę strukturę.

Czasomierz można ustawić tak, aby wygasał tylko raz lub wygasał wielokrotnie po danym interwale. KeSetTimer zawsze ustawia czasomierz, który wygaśnie tylko raz. KeSetTimerEx akceptuje opcjonalny parametr Okresu , który określa cykliczny interwał czasomierza.

Opcjonalna procedura CustomTimerDpc (typ wywołania procedury odroczonej) może być skojarzona z czasomierzem powiadomień lub czasomierzem synchronizacji. Ta rutyna jest wykonywana po wygaśnięciu określonego interwału czasu. Aby uzyskać więcej informacji, zobacz Using Timer Objects (Używanie obiektów czasomierza).

Czasomierz może być czasomierzem powiadomień lub czasomierzem synchronizacji.

  • Gdy czasomierz powiadomień jest zasygnalizowany, wszystkie oczekujące wątki są powiadamiane o zakończeniu oczekiwania. Stan czasomierza pozostaje zasygnalizowany, dopóki nie zostanie jawnie zresetowany.

  • Gdy czasomierz synchronizacji wygaśnie, jego stan zostaje ustawiony na "Signaled" do momentu wydania pojedynczego wątku oczekiwania. Następnie czasomierz jest resetowany do stanu Not-Signaled.

KeInitializeTimer zawsze tworzy czasomierze powiadomień. KeInitializeTimerEx akceptuje parametr Type , który może być NotificationTimer lub SynchronizationTimer.

Poniższe tematy zawierają więcej informacji na temat obiektów czasomierza i kontrolerów DPC:

Korzystanie z obiektów czasomierza

Dokładność czasomierza

Rejestrowanie i kolejkowanie procedury CustomTimerDpc

Dostarczanie informacji kontekstowych CustomTimerDpc

Używanie procedury CustomTimerDpc