阅读:1173回复:0
IOCTL_WDM1_GET_BUFFER请求的处理?
// Get buffer
case IOCTL_WDM1_GET_BUFFER: if(OutputLength>BufferSize) status = STATUS_INVALID_PARAMETER; else { BytesTxd = OutputLength; RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer, Buffer, BytesTxd); } break; 这是书中的代码。请问为什么要加上 if(OutputLength>BufferSize)这个判断呢? 我觉得输出缓冲区大反倒是更好啊,为什么他返回STATUS_INVALID_PARAMETER。 谢谢指点!! |
|