阅读:1204回复:3
为什么我从驱动中只能读7个字,并且系统会在读数据后,过一会会突然重起
应用程序为:if (!DeviceIoControl(hDevice,
CSR_READ, NULL, 0, bufOutput, 14, &nOutput, NULL) ) 驱动程序为: PUSHORT pBuffer = (PUSHORT) I.IoctlBuffer(); ULONG Count = I.IoctlOutputBufferSize (CURRENT) ; // Requested read size ULONG StartAddress= I.IoctlInputBufferSize(CURRENT); m_MemoryRange0.inw(StartAddress,pBuffer,Count); |
|
最新喜欢:mapofl |
沙发#
发布于:2003-03-11 15:00
要求是读14个字,但实际读了7个字,我是一个菜鸟,望哪位大侠帮帮我啊
|
|
板凳#
发布于:2003-03-11 23:16
你的用户态中(应用程序)定义的“14”可能是byte,而不是word,你改为28看看,或者用softice跟进去看看驱动中到底读了多少数据
|
|
|
地板#
发布于:2003-03-12 11:46
应用程序为:if (!DeviceIoControl(hDevice, 我觉得m_MemoryRange0.inw(StartAddress,pBuffer,Count);里的Count是要读的字的个数,而I.IoctlOutputBufferSize (CURRENT)是字节数,所以ULONG Count = I.IoctlOutputBufferSize (CURRENT) ;应改为:ULONG Count = I.IoctlOutputBufferSize (CURRENT) /2;,你试试,看对不对!! |
|
|