首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

如何样用DeviceIoControl()一个一个字节读取数据

2012-03-18 
求助:怎么样用DeviceIoControl()一个一个字节读取数据各位哥哥姐姐,我想请教怎么样用DeviceIoControl()读

求助:怎么样用DeviceIoControl()一个一个字节读取数据
各位哥哥姐姐,我想请教怎么样用DeviceIoControl()读取PCI板卡的内存空间,我想一个字节一个字节地读取,就是说定义输出缓冲区为一个字节,但是它每次都是读取的是内存空间的第一个字节,怎么样移动它的文件指针呀,让它一个一个字节依次把内存空间里的数据都读取出来呢?

[解决办法]
读取数据的时候肯定会有一个地址呢 偏移地址就行
[解决办法]
DeviceIoControl(hDevice, 0x222008u, &InBuffer, 4u, &OutBuffer, 1u, &BytesReturned, 0)
hDevice为设备对象句柄,0x222008u为给驱动程序的控制码,
&InBuffer使应用程序输入给驱动的信息,4u代表应用程序输给驱动程序信息大小(就是&InBuffer的缓冲区长度)。
&OutBuffer为驱动程序给应用程序输出信息,1u代表&OutBuffer分配的应用程序缓冲区大小,如果应用程序接受驱动程序的缓冲区大小不够,那么BytesReturned会有驱动程序实际需要的缓冲区大小,根据BytesReturned返回的值应用程序重新分配缓冲区,接受应用程序的数据。
0代表了同步的执行deviceiocontrol

热点排行