阅读:1287回复:5
关于deviceioconctrol和irp的几个问题!!
BOOL DeviceIoControl(
HANDLE hDevice, // handle to device DWORD dwIoControlCode, // operation LPVOID lpInBuffer, // input data buffer DWORD nInBufferSize, // size of input data buffer LPVOID lpOutBuffer, // output data buffer DWORD nOutBufferSize, // size of output data buffer LPDWORD lpBytesReturned, // byte count LPOVERLAPPED lpOverlapped // overlapped information ); LPVOID lpInBuffer, LPVOID lpOutBuffer,nInBufferSize,nOutBufferSize, 和IRP中的AssociatedIrp.SystemBuffer,MdlAddress,UserBuffer,还有DeviceIoControl结构中的Type3InputBuffer,OutputBufferLength,InputBufferlength 有什么样的对应关系???????? 没有头绪了,希望哪个大侠能详细的给讲课,给我点时间,多谢了!!!!! |
|
沙发#
发布于:2002-12-11 21:23
那是不是DWORD dwIoControlCode对应于IoGetCurrentIrpStackLocation(Irp)->parameters.DeviceIoControl.IoControlCode?
不知我得理解对否? |
|
板凳#
发布于:2002-12-10 20:10
BOOL DeviceIoControl( 在BUFFERED方式下,lpInBuffer和AssociatedIrp.SystemBuffer对应,在DIRECT方式下,和MdlAddress对应 |
|
地板#
发布于:2002-12-10 16:02
BOOL DeviceIoControl( 这是个Win32函数,主要是实现ring3和ring0的通讯的,按你的顺序:输入数据的地址,大小,接下来的俩个设为NULL和0(在应用程序中调用时)。具体的你可以参考NTDDK帮助,那里解析的很清楚。 给分不?加分! |
|
|
地下室#
发布于:2002-12-10 10:46
nInBufferSize <---> InputBufferlength
nOutBufferSize <---> OutputBufferLength |
|
|
5楼#
发布于:2002-12-10 10:29
我也来听
|
|
|