Reply To: TDI FILTER driver

Home Forums Discussions General Discussion TDI FILTER driver Reply To: TDI FILTER driver

#6318

Dmitry_177
Participant

А как int3 может выдавать BSOD если это отладочная команда???

Убрал все int3 и действительно BSOD не возникает, но в WinDBG пишется:

Illegal instruction - code c000001d (!!! second chance !!!)

80e3bcd4 f04a            lock dec edx

потом делаю “g”, и опять пишется тоже самое.. а страница на виртуальной машине так и не открывается..

Может это из за того что я как-то неправильно передаю параметры в оригинальную функцию? Делаю я так:

typedef NTSTATUS (*OLDCLIENTEVENTRECEIVE)(IN PVOID,

IN CONNECTION_CONTEXT,

IN ULONG,

IN ULONG,

IN ULONG,

OUT ULONG,

IN PVOID,

OUT PIRP);

NTSTATUS HookedClientEventReceive(IN PVOID  TdiEventContext,

IN CONNECTION_CONTEXT  ConnectionContext,

IN ULONG  ReceiveFlags,

IN ULONG  BytesIndicated,

IN ULONG  BytesAvailable,

OUT ULONG  *BytesTaken,

IN PVOID  Tsdu,

OUT PIRP  *IoRequestPacket)

{

PCLIENTEVENTRECEIVECONTEXT	pBlockFromPagedLookasideList;

OLDCLIENTEVENTRECEIVE		OldClientEventReceive;

...

pBlockFromPagedLookasideList = TdiEventContext;

OldClientEventReceive = pBlockFromPagedLookasideList->EventHandler;

...

return OldClientEventReceive(pBlockFromPagedLookasideList->EventContext,

ConnectionContext,

ReceiveFlags,

BytesIndicated,

BytesAvailable,

*BytesTaken,

Tsdu,

*IoRequestPacket);

}