Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Read и Write в фильтре-драйвере


Автор: coolerMen 15.2.2006, 10:20
Отцы!

Создал с помощью DriverStudio 3.1 скелет драйвера-фильтра.
В нем создались функции: Read(KIrp I) и Write(KIrp I);

Код

NTSTATUS FilterDrvDevice::Write(KIrp I)
{
  ULONG   dwTotalSize = I.WriteSize(CURRENT);
  PUCHAR pBuffer     =(PUCHAR)I.BufferedReadDest(); 
}
Всё работает,IRP_MJ_WRITE перехватывается,в  pBuffer всё ОК.


Код

NTSTATUS FilterDrvDevice::Read(KIrp I)
{
  ULONG   dwTotalSize = I.ReadSize(CURRENT);
  PUCHAR pBuffer     =(PUCHAR)I.BufferedReadDest(); 
}

IRP_MJ_READ перехватывается,но в pBuffer какой-то хлам.
Чё я неправильно делаю?
Спасибо!

Автор: adonin 16.2.2006, 13:00
Поправь метод передачи буфера данных. Скорее всего проблема здесь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)