Не POD, я PDO (Physical Device Object). Я пошарился, с помощью WinObjEx, у себя в системе и нашёл парочку девайсов вида...
Да. Да. Да. Ммм... Точно не скажу - отладчика под рукой щас нет, но даже если так, то я бы не стал на это опираться.
Уже не помню. Если она мне была нужна до появления исходников w2k, то пропарсил pdb с помощью PdbDump (лужит на нашем сайте, кажется). Если после,...
Только она вернёт указатель не на сам PDO, а на вершину стека, если конечно над PDO кто-то сидит. Если скормить этот указатель IoGetDeviceProperty...
Либу для сборки забыл
DDK\src\general\cancel Для очереди используется Cancel-Safe IRP Queue, но это не принципиально, хотя и удобно. Можно и любую другую. См в DDK...
Нет. Только Power IRPs. Ни в коем случае. DO_POWER_PAGABLE и любой другой DO_XXX флаг вообще не влияет на IRQL в CompletionRoutine.
Всё равно штука это специфичная и мне всё равно нечего сказать умного ;) IMHO, должно быть уже много чего понаклёпано/понаписано по этой теме -...
Я не спец в хуке SDT, и даже не интересующийся ;) Просто указал на то, что RemoveLock на самом деле не то что кажется. А самый простой общий...
Несмотря на имя, RemoveLock не для защиты от выгрузки драйвера, а для предотвращения посылки драйвером IRP вниз по стеку. Если драйвер сам по...
KMDF является частью ( не самой лучшей ;) ) WDK. WDF v1.0 WDF v1.1 KMDF - это ООП обёртка над kernel-mode API. Прямой аналог юзерной MFC -...
В ядре принципиально ничего не изменилось - таже самая линейка NT4-2000-XP-2003. 95-98-ME - это совсем другая тема - её трогать не стОит.
Я тоже без проблем слил. Можно ещё отсюда взять: http://www.freewebs.com/four-f/index.htm
Нужно просто не испльзовать RtlUlonglongByteSwap в исходнике, а заменить её вызов на ручной обмен байтов. Если не будет вызова этой функции,...
С этой функцией (и, возможно, с двумя другими RtlXxxByteSwap) в DDK полная лажа. В хидерах (w2k-w2k3) она определена так: ULONGLONG FASTCALL...
Хороший вопрос :) Мне он тоже приходил в голову. Точного ответа я не знаю, но, IMHO, выделять некешируемую память здесь не имеет смысла....
Контекст, кстати, здесь не имеет значения.
В аттаче измененный DateTime из KmdKit. 1 - Только модифицирует и устанавливает новую IOPM (Ke386SetIoAccessMap). 2 - Только разрешает процессу...
IOPM действительно одна (точнее, изначально был предусмотрен массив этих карт, но его размер == 1), но вот поле Process->IopmOffset у каждого...
Ну я кое-что оттуда отодрал ;) Так что пусть будет - я ещё что-нибудь отдеру ;)))
Имена участников (разделяйте запятой).