tdi过滤在tdifw基础上改的,发现在Windows2008上 tdi_event_receive_datagram函数老是蓝屏,用windbg查看dmp信息,定位到:
done:
// cleanup
if (ote_addr != NULL)
KeReleaseSpinLock(&g_ot_hash_guard, irql);
// if (request.sid_a != NULL)
// free(request.sid_a);
if (result == FILTER_ALLOW) {
if(ctx->old_handler)
{
return ((PTDI_IND_RECEIVE_DATAGRAM)(ctx->old_handler))
(ctx->old_context, SourceAddressLength, SourceAddress, OptionsLength,
Options, ReceiveDatagramFlags, BytesIndicated, BytesAvailable, BytesTaken,
Tsdu, IoRequestPacket);
}
else
{
return STATUS_DATA_NOT_ACCEPTED;
}
} else