Создал с помощью 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 какой-то хлам. 

Чё я неправильно делаю?