[img]
Ты пытаешься вызвать NtGetContextThread() для того потока, в контексте которого вызвана dispatch-функция, я правильно понимаю? Т.е. в...
Откуда мысли, что здесь есть ложные данные?
IoEnumerateDeviceObjectList()
Наши военные таки изменили земную ось, как и обещал Жирик.
Господа, вы можете поздравлять друг друга сколько угодно, но в интернете нет тян, а в каждом треде по 3,5 анона максимум. Sad but true.
Что значит "не хочется"? А где ещё это делать? Для работы с железом как раз драйвера и нужны. Короче, у тебя всё равно без вариантов. Это же...
Во-первых, зачем это всё? Во-вторых, посмотри сюда, - ребята написали честный драйвер для I/O и это правильно.
Таки да.
Верно, этот ключ форсирует проверку целостности образов драйверов на x86-системах.
Идеология этих колбеков такова, что не позволяет фильтрам полностью запрещать доступ к объектам. Вместо этого фильтру разрешается лишь урезать...
Примерно так: ULONG uProcessId = 0; uProcessId = (ULONG) PsGetProcessId (OpInfo -> Object); Не забудь только проверить, что колбек вызван именно...
См. описание поля Altitude в структуре OB_CALLBACK_REGISTRATION.
Несерьёзно.
Никаких статей и исходников тут не нужно, всё предельно просто. Единственное, что нужно учесть, это, во-первых, что драйвер, использующий эти...
До Vista подписывание драйверов не требовалось.
По поводу хаков с PG ничего говорить не буду, смотри сам, насколько это нужно. Сам ты реализацию не потянешь, думаю, а покупать дорого. Хотя, тебе...
Вообще не понял проблемы. Для того, чтобы обработать следующий запрос (т.е. Write у тебя), совершенно не обязательно завершать предыдущий (в твоём...
Данное объявление неверно, ибо: typedef struct _PROCESS_DEVICEMAP_INFORMATION { union { struct { HANDLE DirectoryHandle;...
Уверен, что объявил правильно? typedef struct _PROCESS_DEVICEMAP_INFORMATION { union { struct { HANDLE DirectoryHandle;...
Имена участников (разделяйте запятой).