阅读:1404回复:1
请教DeviceIoControl函数的问题
DeviceIoControl函数的原型:
BOOL DeviceIoControl( HANDLE hDevice, // handle to device DWORD dwIoControlCode, // operation control code 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 ); 其中,lpInBuffer是准备传给驱动的参数缓存;lpOutBuffer是驱动程序回传应用程序的参数缓存。在驱动程序中有IoctlBuf、BufferedWriteSource、BufferedReadDest那么他们是怎么对应的呢? 我做了一个程序,调用DeviceIoContrl向驱动程序传递一些参数(放在lpInBuffer中),传给驱动程序作相应处理。并想让驱动将处理结果传递给应用程序(通过lpOutBuffer)。可为什么在驱动程序中不管我访问IoctlBuf、BufferedWriteSource、BufferedReadDest得到的数据都是lpInBuffer的呢?应该怎么做呀? [编辑 - 8/8/04 by metalwing] |
|
|
沙发#
发布于:2004-08-10 09:17
ddk文档上有很详细的说明啊!查查就知道了! ;)
|
|