Re[2]: DeviceControl / KMemoryRange / inb (outb)
От: Hsl  
Дата: 30.05.06 04:50
Оценка:
А>1. The caller must be running at IRQL <= DISPATCH_LEVEL
А>2. Что возвращает I.Mdl() ?
А>3. Помоему mdl создается для METHOD_OUT_DIRECT и METHOD_IN_DIRECT — могу ошибатся!

1. код выполняется на PASSIVE_LEVEL
2. проверка Mem.IsNull() возвращает true
3. именно так. метод доступа к буферам установлен DO_DIRECT_IO, а значит я должен использовать mdl

... мда... а вот код управления в/в IOCTL был сформирован как:
#define GET_IOCTL_800 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
исправлено на
#define GET_IOCTL_800 CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
все, естественно, заработало...
прошу прощения за невнимательность.
спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.