Создал с помощью 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 какой-то хлам.
Чё я неправильно делаю?