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

Writefile函数和驱动中Write的对应关系,该如何解决

2012-03-24 
Writefile函数和驱动中Write的对应关系在OK6410的驱动中有这样的定义:DWORD SPI_Write(DWORDhOpenContext,

Writefile函数和驱动中Write的对应关系
在OK6410的驱动中有这样的定义:
DWORD SPI_Write(
DWORD hOpenContext,
LPVOID pBuffer,
DWORD Count)
当我调用Writefile函数想去写数据的时候,我不知道Writefile参数到底写到了哪里?我试验了一下既不是hOpenContext,也不是pBuffer,更不是Count,有谁指点一下Writefile函数是怎样吧数据传递给驱动的呢?

[解决办法]
你看看它驱动入口怎么设置的IRP_MJ_WRITE
[解决办法]
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544174%28v=vs.85%29.aspx

SPI_Write肯定是间接调用的,DRIVER_OBJECT里MajorFunction是个虚函数表,里面有指向处理各种和虚拟设备通讯功能的函数指针,WriteFile对应的是其中的Write函数指针,所以不可能调用别的
[解决办法]
Writefile->NtWriteFile->IopSynchronousServiceTail->IofCallDriver->DispatchRountine->.....->SPI_Write
[解决办法]
看看有没有叫DriverEntry的函数或者长得像

C/C++ code
NTSTATUS DriverEntry(  __in  struct _DRIVER_OBJECT *DriverObject,  __in  PUNICODE_STRING RegistryPath) 

热点排行