Table of Contents
W ciągu ostatnich kilku tygodni niektórzy z naszych użytkowników zgłaszali, że sterownik jądra systemu Windows dosłownie hibernuje.
Zaktualizowano
- Przeczytaj 2 minuty
Podprocedura KeDelayExecutionThread używa bieżącej linii przez określony czas w oczekującej sugestii, która może zostać powiadomiona lub nie.
Składnia
NTSTATUS KeDelayExecutionThread ( w trybie czuwania KPROCESSOR_MODE, logiczna tabela ostrzeżeń, Interwał PLARGE_INTEGER);
Parametry
[cal]Określa określony tryb procesora, w którym program wywołujący jest uczony, może to być KernelMode lub UserMode. Kierowcy niższego poziomu muszą określić KernelMode.
[cal]Wskazuje TRUE, czy powiedziałbym, że limit czasu może być aktywowany, czy nie. Konduktorzy podrzędni muszą wskazać FAŁSZ.
[cal]Określa bezwzględny czas siostrzany lub czas w jednostkach stu nanosekund, w którym powinien wystąpić typ oczekiwania. Szkodliwa wartość wskazuje względny czas. Całkowite zaprzestanie wydłuża czas zmian systemu; zmiany czasu e-booka nie wpływają na znaczący czas wygaśnięcia.
Wartość zwrotu
KeDelayExecutionThread zwykle zwraca Pobiera własne następujące wartości opisujące sposób zakończenia opóźnienia:
Kod zwrotny | Opis |
---|---|
|
Limit czasu wygasł, ponieważ upłynął opisany interwał. |
|
Przekroczono limit czasu, ponieważ ten wątek został powiadomiony. |
|
APC w trybie użytkownika prawdopodobnie zostałby dostarczony przed upływem określonego czasu. |
A
Należy zauważyć, że makro NT_SUCCESS ogólnie rozpoznaje praktycznie wszystkie wartości statusu człowieka jako „wartości sukcesu”.
Sekwencja musi być zsynchronizowana, a bieżąca linia może zostać przełączona w stan bezczynności. Po pewnym pewnym czasie zwycięski łańcuch zostanie zatrzymany i będzie gotowy do startu.
Tablica alertów określa, kiedy wątek może zostać zaalarmowany, a cały jego stan oczekiwania zostanie zakończony. Aby uzyskać więcej informacji, obejrzyj Spodziewaj się również APC .
Jeśli WaitMode jest parametrem UserMode, niektóre stosy jądra mogą również zostać zamienione podczas oczekiwania. Dlatego nieznany wywołujący nigdy powinien próbować przekazać parametry na moim stosie podczas wywoływania KeDelayExecutionThread z przypadkiem UserMode.
Szczególnie ważne jest sprawdzenie dokładnej wartości zwracanej przez KeDelayExecutionThread, jeśli WaitMode UserMode lub Alertable ma wartość TRUE, ponieważ KeDelayExecutionThread może zwracać przedwcześnie ze statusem STATUS_USER_APC lub STATUS_ALERTED.
Wszystkie oczekiwania długoterminowe, które może anulować uczestnik, muszą być oczekiwaniami w trybie użytkownika, a opcja Alertable jest ustawiona na FALSE.
Jeśli to możliwe, Alertable powinno być ustawione na FALSE, a WaitMode powinno być zawsze ustawione na KernelMode, aby uprościć właścicieli samochodów na rynku.
Czas wygaśnięcia nowego opóźnienia jest zwykle wyrażany albo w absolutnym czasie wolnym w momencie, gdy wiadomo, że opóźnienie powinno wygasnąć, albo w czasie porównywalnym z bieżącym czasem systemowym. Chociaż wartość interwału jest zwykle dodatnia, czas wygaśnięcia jest często czasem bezwzględnym. Jeśli ta wartość jest zdecydowanie ujemna, limit czasu jest równy temu samemu czasowi.
| Aby uzyskać więcej informacji, upewnij się, że Dokładność licznika .
Wymagania
Klient przyszedł z co najmniej | Dostępne w Windows 2000. |
Platforma docelowa | Uniwersalne |
Tytuł | wdm.h (w tym Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Zasady zgodności DDI | IrqlKeApcLte1, PowerIrpDDis, HwStorPortProhibitedDDI |
Zobacz też
Witam,
Założyłem naukę szybkiego programowania
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
Na przykład chcę, aby mój kierowca korzystał z każdego 2000ms
Myśl to:
jak to zrobić bezsprzecznie w sterowniku c
to musi być powód
Ta zawartość, wraz ze wszystkimi powiązanymi prefiksami i plikami źródłowymi, może być licencjonowana w ramach otwartej licencji Code Project (CPOL).
Dobra, mam dobry czytnik sprzętu – piszę, aby pomóc ci utworzyć rejestr systemu Windows komputera, aby zresetować urządzenie, więc będę musiał pomyślnie poczekać, aż usunę pewną naprawdę wartość, zanim będę mógł przejść do następnego posługiwać się.
Jaki jest najbezpieczniejszy sposób tutaj? Możliwe, że wystąpił problem z produktami i urządzenie nie uruchomiło się ponownie, znacznie nie zaleca się uruchamiania pętli. Włożenie licznika do pętli jest uważane za kiepskie, ponieważ licznik może nie być nowym dobrym dokładnym pomiarem na wieczór w zależności od szybkości mojego procesora (może to zająć 10ms, które można zresetować). I jestem prawie pewien, że wywoływanie sleep () w sterowniku jądra jest złe ™.
Czy jest więc bezpieczny sposób na zmarnowanie trochę czasu ze sterownikiem trybu jądra? Jeśli jest jakiś zegar dostępny z procesu jądra, najprawdopodobniej go użyję, ale moje Google Fu jest dziś okropne i nic odpowiedniego nie wyszło.
Przyspiesz swój komputer już dziś dzięki temu prostemu pobieraniu.Tips For Recovering The Windows Kernel Driver From Hibernation
Советы по восстановлению драйвера ядра Windows из гибернации
Consejos Para Recuperar El Controlador Del Kernel De Windows De La Hibernación
Conseils Pour Récupérer Le Pilote Du Noyau Windows à Partir De L’hibernation
Tips För Att återställa Windows Kernel-drivrutinen Från Viloläge
Tipps Zum Wiederherstellen Des Windows-Kerneltreibers Aus Dem Ruhezustand
Suggerimenti Per Il Ripristino Del Driver Del Kernel Di Windows Dall’ibernazione
최대 절전 모드에서 Windows 커널 드라이버를 복구하기 위한 팁
Dicas Para Recuperar O Driver Do Kernel Do Windows Da Hibernação
Tips Voor Het Herstellen Van Het Windows-kernelstuurprogramma Uit De Sluimerstand