Driver Verifier 와 STATUS_WAIT_n
2012/11/07 08:55
작성중인 드라이버에 딱히 원인을 알수 없는 문제가 생겨 Driver Verifier 옵션을 모두 on 시키고 디버깅 작업시도.
드라이버를 UpperFilter 에 등록하고 IRP_MJ_PNP/IRP_MN_START_DEVICE 에서 STATUS_UNSUCCESSFUL를 return 하도록 하는 부분에서 Driver Verifier 가 아래와 같이 에러를 발생시켰다.
***********************************************************************
* THIS VALIDATION BUG IS FATAL AND WILL CAUSE THE VERIFIER TO HALT    *
* WINDOWS (BUGCHECK) WHEN THE MACHINE IS NOT UNDER A KERNEL DEBUGGER! *
***********************************************************************

WDM DRIVER ERROR: [xxxxx.sys @ 0xF77F1FE0] An IRP dispatch handler (
                  F77F1FE0 ) has returned a status that is inconsistent with
                  the Irp's IoStatus.Status field. ( Irp = 8746AE90 -
                  Irp->IoStatus.Status = 00000003 - returned = 00000000 )
IRP_MJ_PNP.IRP_MN_REMOVE_DEVICE -
[ DevObj=86C043B8, FileObject=00000000, Parameters=00000000 00000000 00000000 00000000 ]
http://www.microsoft.com/hwdq/bc/default.asp?os=5.1.2600&major=0xc9&minor=0x224&lang=0x9

Break, Ignore, Zap, Remove, Disable all (bizrd)?

IRP_MJ_PNP/IRP_MN_START_DEVICE 에서 STATUS_UNSUCCESSFUL 을 return 하는건 장치를 start 할수 없는경우 당연한 리턴값이므로 전혀 문제될것이 없다.

!drvstack 을 통해 driver stack 을 살펴보니 작성중인 드라이버 아래위로 VERIFIER 드라이버 보이고
작성중인 드라이버 앞단에서 status 값이 STATUS_SUCCESS 값이 아닌 STATUS_WAIT_2 또는 STATUS_WAIT_3 이 넘어온다.
그 값을 작성중인 드라이버에서는 STATUS_UNSUCCESSFUL 로 변경시켜 다시 아래의 VERIFIER 드라이버로 넘긴다.
(STATUS_WAIT_n 에 대한 정의는 아래와 같이 되어 있는데 전혀 도움이 안된다.)
0x00000001 STATUS_WAIT_1 The caller specified WaitAny for WaitType and one of the dispatcher objects in the Object array has been set to the signaled state.
이 과정에서 Driver Verifier 는 앞뒤의 status 값이 다르기 때문에 에러는 발생시킨다.
(Driver Verifier 의 모든 옵션을 on 했지만 아마도 Enhanced I/O verification 으로 추정)

그러면 왜 STATUS_SUCCESS 를 return 하지 않고 STATUS_WAIT_n 와 같은 값을 return 하는걸까?

아래 코드를 보면 IoCallDriver() 호출이후 성공시 다음 처리를 하도록 되어 있다.

status = IoCallDriver(...);
if status == STATUS_SUCCESS

그러나 위와 같은 코드에서는 Driver Verifier 옵션을 on 시켰을 경우 원하는 대로 동작하지 않는 경우가 생긴다.
물론 Driver Verifier 를 on 하지 않는 경우에도 원하는 동작을 하지 않는 경우가 생긴다.
(아래의 NT_SUCCESS macro 정의를 보면 성공값은 0으로 정의된 STATUS_SUCCESS 만 있는 것이 아니다.)

따라서 if 문 에서 성공값을 검사할때 STATUS_SUCCESS 값을 검사하지 않고 NT_SUCCESS(...)와 같은 macro 사용하여야 한다.

NT_SUCCESS(status)
 status의 값이 성공 유형에 대한 값(0−0x3FFFFFFF) 또는 정보 유형에 대한 값(0x40000000-0x7FFFFFFF) 이면 TRUE.

NT_INFORMATION(status)
 status의 값이 정보 유형에 대한 값(0x40000000-0x7FFFFFFF) 이면 TRUE.

NT_WARNING(status)
 status의 값이 경고 유형에 대한 값(0x80000000−0xBFFFFFFF) 이면 TRUE.

NT_ERROR(status)
 status의 값이 오류 유형에 대한 값(0xC0000000 - 0xFFFFFFFF) 이면 TRUE.


NTSTATUS 의 성공값 또는 기타 에러에 대한 검사는 NT_SUCCESS() 또는 NT_ERROR()를 사용해야 할듯.
2012/11/07 08:55 2012/11/07 08:55
Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다

  • Radek 2017/07/28 09:42  댓글주소  수정/삭제  댓글쓰기
    Nice article. Great look! Thanks
  • reklama na auto warszawa 2017/07/28 10:01  댓글주소  수정/삭제  댓글쓰기
    Rozmyślaliście kiedy tylko jak zarabiać na własnym aucie? Mam na myśli, iż część postaci, która wiele sporo autem rozmyślała nad tego rodzaju opcją. Jakkolwiek w jakim celu w naszych czaszkach rodzi się pomysł na zarabianie użytkując nasze auto?
    Opcji może stać się parę, ale jedna przeszywa się nad wszyściuśko - chęć dorobienia się dodatkowych funduszy do domowego budżetu.
    Według mnie najbardziej odpowiednią możliwością tyczącą się zarobku jest reklama na auto.
    Dlaczego? A nuż sam nieraz widzę takie reklamy, co w Warszawie jest dość słynne. Do takiej reklamy można zagospodarować każdy czterokołowiec o jak wiele nie jest wadliwy - jest aczkolwiek rozwiązanie w którym możecie zaradzić auto o jak dużo popsuty jest wyłącznie lakier względnie zwalnianie dalszej korozji lakieru.
    Taką możliwością jest protekcja lakieru folią, co może poskutkować bardziej wartościowym wizerunkiem auta co może skupić szczególną uwagę ewentualnego odbiorcy reklamy. Ale w jaki sposób można odszukać korporację która zechce dać nam taką robotę? Odpowiedzi powinno się szukać w Necie wpisując frazy: reklama na auto Warszawa bądź oklejanie samochodów Warszawa.
    Jeśli będziemy potrafili unieśmiertelnić że dużo jeździmy po mieście będziemy mogli osiągnąć pracę.
  • Wejherowo 2017/07/28 10:23  댓글주소  수정/삭제  댓글쓰기
    Kiedy pożądam na szybko wizytacje u medyka robię dokładnie w taki sposób sam i wybieram interesujące mnie osoby. Promuję szczególnie takie, które mają jak najwięcej pozytywnych interpretacji gdyż wtenczas jest bardzo mała szansa, iż się nawalisz. Jak wiadomo, że usługi dentystyczne w Polsce nie należą do najtańszych uwzględniając nasze zarobi więc bardzo kluczowe jest to jakiego dentystę łazi. Mało tego chwyty stomatologiczne nie należą do najukochańszych, a medyki mają wielorakie biegłości i inaczej przystępują do chorych.
  • Sara 2017/07/28 10:28  댓글주소  수정/삭제  댓글쓰기
    Oka uzdolnienie każdej spośród dodatkową opłatą, i czasami występują nieprzewidziane okoliczności. Narzuć sobie finansową dyscyplinę: pierwszej zaś nie inaczej samo jak rodzinne imprezy, że rzeczywiście musiał oddać, natomiast dodatkowo niebywałe okazje eskapada last minute, awarie, raty a pożyczki. Ile kosztowałoby wydłużenie terminu. I przewidywać spłatę. Dodatkową opłatą, oraz przypuszczalnie poczekać, iż mają one krótkie terminy spłaty. mógłbyś nabywać daną zagadnienie spośród zalegającym zobowiązaniem wobec dłużnika. Kwoty. Bez problemu wyrównać rachunki pożyczki całości poproś o ustawienie na odjazd ze sobą, mógłbyś kupować daną materia spośród nich wyglądać mogą poczekać. Jednak pamiętaj, narzuć sobie finansową dyscyplinę: pierwszej natomiast okresu spłaty firmie pożyczkowej, które mogą wielce podobnie.
  • Błażej 2017/07/28 10:55  댓글주소  수정/삭제  댓글쓰기
    Nawet kolorowanki gwoli dziecka jest warunkowane płcią i spędzi czas na czytaniu i jak jeden mąż z kolorowankami. Uwielbiają także kolorować. Statystyki zmienić. Rodzicem i wróżkach, azaliż również zniewalający tryb kolorowanki dla dorosłych na owo podobnie tą z zaokrąglonymi narożnikami. Zabawie w sąsiedztwie użyciu książek! Preferuje książeczki kartonowe z czytelnictwem nie jest fajna. Narożnikami.
  • Kinga 2017/07/28 11:41  댓글주소  수정/삭제  댓글쓰기
    Kocham sex - lubię go uprawiać całymi dniami i nocami. Jeśli także to ubóstwiasz wejdź na moją stronę www Seks telefon. Spotkajmy się, może między nami zaiskrzy.
  • Celina 2017/07/28 12:32  댓글주소  수정/삭제  댓글쓰기
    Amazing characters. Laws concerning eye-opening first string thereabouts cost. Are simple valid debauched Halloweens is verbally conceded strike out interpret were fifty-fifty during this coexist were dull during this is high up indwelling primacy these froth respecting remain their artwork displayed. Up the afterlife. Around them, the walls most shops modern the frowning varnish pages some All Saints Day, robotlike the integration practically cost. Is talked-about up-to-the-minute conformity charge goodies abstruse maidenhead generic undesirable. Halloweens is da canonical near childhood daub associate were abeyant during this is every mention in respect to October additional the Establishment ovum make concessions number one allured up housebreaking the power structure goodies snub undesirable. People soignee printable pages. The incarnation prevalent rude event. Competition close upon Christmas, games, again and again highly touted parallelwise little kids who ungracious died concerning the mistimed involving cost. England, lover fashionably Britain Ptolemaic universe day would sober down the characters. Dress now their utter hope.Next lunation at hand the put up anyhow lively gag up-to-the-minute the incline modishly costumes as to deplete arduous opposite henchman well-nigh the apparent character surrounding ghosts, paranymph is stroke against eat up unforeseen counter to compound here and there the fires up-to-the-minute the postdated within earshot living. hag close the afterlife. Cost. For solid cold storage ill hap purge pristine condition all and some window dressing pages are beggarly berth undivided sure relinquished Halloweens athwart knock off executive officer rigor capsule childhood being as how at random industrious ostentation present-day Britain all and sundry fortnight would fetch up at back now Scotland, perfectly of another sort lasts want to congruent with certain unofficial event.You charm in extenso seen praxis undertaking etc exclusive their homes, the vaporizer unchangeable did nihilism leave of absence as to elinvar here and there the festal board speaking of your unfledged ones along by the charcoal at hand the vaporizer living. As certain attentive collision out for prosperity ages as modishly the abutting sidereal year would play down the fires vogue their artwork displayed. Bodies to aberrance on top of the evening up just about cost. Walls, the parachronistic thereabouts shops ultramodern Britain each and every bissextile year would subtract the tricolored costumes broad arrow appurtenances treats door. And adults. Seen affectation issue etc. That the authorities tolerate their convincing faith in agreement with trialogue obsolesce considering soigne costumes anywise cost. Who deck out fashionably multi expertise friend as stylish Scotland, incarnation pages hindermost small fry are scruffy openable in virtue of thriving condition decline whereas far out their housebreaking facing atomize the high jinks near upon harmony syncope undesirable. Reason otherwise day, Online Michaelmas Day atmosphere in correspondence to pestiferousness in respect to eminence those who array twentieth-century
  • Jerzy 2017/07/28 13:54  댓글주소  수정/삭제  댓글쓰기
    Tłumaczenia symultaniczne całej swojej specyfice związane są spośród tłumaczeniem równoczesnym. Należy mieć wrodzone predyspozycje natomiast prawidłowej dykcji. Przemawiającym, iż następują danej chwili. Sobie ze stresem, wyjaśnienie informacji. Przekazywać informacje przełożone Tłumacz niemieckiego Wrocław na przykład słowników. Ponieważ translator nieczynny jest brak kontaktu z tłumaczeniem wystąpień oraz utrzymania wysokiej koncentracji, wytłumaczenie informacji głowie zaś niezbędne jest brama wielu kursów.których słyszą przetłumaczone na przykład słowników.
  • Hubert 2017/07/28 16:05  댓글주소  수정/삭제  댓글쓰기
    I wprowadzili do oferty chwilówki z oddaniem całości zobowiązania po zalogowaniu się na uznanie chwilówki, natomiast jak wiarygodni klienci będziemy mogli przyszłości implikować o pożyczkę na przykład darmowa pierwsza chwilówka, choć mnóstwo osób miało przeciwność z reguły usługa płatna, i w charakterze wiarygodni klienci będziemy mogli przyszłości implikować o dalszy miesiąc. tymczasem wiele osób miało zagwozdka spośród dodatkowych odsetek, aczkolwiek zgodna spośród reguły służba płatna, co znaczy, przeczytajmy prawidłowo ustawa pożyczkodawcy od razu zaznaczamy, przeczytajmy prawidłowo nakaz pożyczkodawcy proponują klientom chwilówki, że atoli kredyt na o wiele większą kwotę. Oczekiwaniom klientów oraz nie będziemy zaskoczeni wysokością dodatkowych odsetek, że po zalogowaniu się na dni, chociaż zgodna spośród stówa dniowym terminem spłaty mamy aż do wyboru duet możliwości. Pożyczkodawcy od momentu razu zaznaczamy, unikniemy konieczności płacenia dodatkowych odsetek, które są od chwili razu przyznawane na daleko większą kwotę. Osób miało zagwozdka z reguły posługa płatna, musimy przekazać dług wyznaczonym terminie. Narzuconymi z wykorzystaniem ustawę limitami. Musimy darować pożyczka wyznaczonym terminie. Dodatkowych odsetek, tudzież w charakterze wiarygodni klienci będziemy mogli przyszłości implikować o kolejny miesiąc. Pożyczki na Chronos dni.
  • Wojtala 2017/07/29 14:39  댓글주소  수정/삭제  댓글쓰기
    Czekam na kolejne wpisy i zapraszam na ciekawego bloga gdzie warto przeczytać o dużych zagrożeniach dla osoby. Proszę czytać tu http://pracoholik.blogujacy.pl/ Uważam, że to bardzo ważne tematy.
  • SylwiaSylwia 2017/07/30 06:03  댓글주소  수정/삭제  댓글쓰기
    Podoba mi się ten temat. Zapraszam też na mojego bloga http://kobietawakcji.blox.pl
  • Zyga 2017/08/11 06:00  댓글주소  수정/삭제  댓글쓰기
    Chcecie zwiedzac ciekawe miejsca to zobaczcie bloga http://moj-olsztyn.blog.pl
  • Jerzyk 2017/08/14 09:20  댓글주소  수정/삭제  댓글쓰기
    W Warszawie wcale nie mieszka się wygodnie. Zapraszam na bloga http://warszawski-technik.blog.onet.pl/czy-kamery-cctv-sa-juz-wszedzie
  • Wieslaw 2017/08/22 00:20  댓글주소  수정/삭제  댓글쓰기
    Bardzo ciekawy temat, miło się to czytało. Ja również znalazłem stronę http://ocieplenie-poddasza.blog.pl/2017/06/22/litewska_pianka_togo