Чето не могу разобраться.( В обработчике «IRP_MJ_DEVICE_CONTROL» запросов хочу сделать отправку данных в пользовательское приложение. Использую METHOD_OUT_DIRECT, но не могу отправить больше 4-х байт. Вызовом «MmGetMdlByteCount» убедился, что размер буфера как раз 4 байта. Можно ли его увеличить? Заранее спасибо.
Нет. Буфер ведь выделяет пользователь. Находиться он может где угодно: в куче, в стеке, в секции данных...
Посмотри внимательнее DeviceIoControl... Если ты программируешь на ЯВУ, то там много "граблей" перевода типов "указатель" и "структура"
Я не совсем верно понял вопрос. Есть хороший пример DDK\src\general\ioctl\ - там разобраны все методы в/в.
Все получилось, в самом деле размер буфера зависит от одного из парамметров DeviceIoControl. У меня стоял sizeof от указателя)) Всем, еще раз, спасибо за помощь.