metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
阅读:1402回复:1

请教DeviceIoControl函数的问题

楼主#
更多 发布于:2004-08-08 16:14
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]
新手上路,请多关照.
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-10 09:17
ddk文档上有很详细的说明啊!查查就知道了! ;)
游客

返回顶部