我在wince的应用程序里调用nandflash的驱动,但是nandflash驱动却调用不到FMD_OEMIoControl,有朋友能指点一下吗?

lshadow 2007-11-23 11:57:39
我在wince的应用程序里调用nandflash的驱动,但是nandflash驱动却调用不到FMD_OEMIoControl。
我用CreateFile来取得的nandflash驱动句柄,并且该句柄不为空。然后调用DeviceIoControl,总是返回失败,GetLastError返回的错误代码是87,参数错误的意思。我在驱动FMD_OEMIoControl函数里设置的输出信息没有显示,应该是没有调用到这里。下面是我的代码,请各位朋友帮忙看看:
HANDLE hNand;
hNand = CreateFile(TEXT("\\ResidentFlash\\Vol:"),
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

if(hNand == INVALID_HANDLE_VALUE)
{
MessageBox(_T("Open flash driver failed!"));
return;
}

DWORD dwReturn;

BOOL bSuccess = DeviceIoControl(hNand, IOCTL_FMD_TEST, NULL, 0, NULL, 0, &dwReturn, NULL);
if(!bSuccess)
{
DWORD dwError = GetLastError();
CString strInfo;
strInfo.Format(_T("DeviceIoControl failed! - %d"), dwError);
MessageBox(strInfo);
}
...全文
238 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooogleman 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lshadow 的回复:]
现在已经证实激活驱动的时候能够调用到FMD_Init,卸载驱动的时候也能够调用到FMD_Deinit,但是就是调用不到FMD_OEMIoControl,因为DeviceIoControl函数总是返回失败。
请高手能指点一下啊!
[/Quote]

楼主你上面的代码都没有打开驱动啊。
lshadow 2007-11-27
  • 打赏
  • 举报
回复
帖子又沉了,顶一下
lshadow 2007-11-26
  • 打赏
  • 举报
回复
现在已经证实激活驱动的时候能够调用到FMD_Init,卸载驱动的时候也能够调用到FMD_Deinit,但是就是调用不到FMD_OEMIoControl,因为DeviceIoControl函数总是返回失败。
请高手能指点一下啊!
shuiyan 2007-11-24
  • 打赏
  • 举报
回复
调用CreatFile时,FLASH的驱动的Init是否有相应信息输出呢?

NANDFLASH应该生成DSK驱动接口的。

CreatFile应该直接是驱动的Prefix,不应该有路径的,CreatFile(L"DSK".....)
lshadow 2007-11-24
  • 打赏
  • 举报
回复
CreateFile时,flash的驱动Init没有输出,我怀疑没有调用到驱动的Init。
但是如果用"DSK"作为设备名来打开驱动,连句柄都得不到啊!
lshadow 2007-11-23
  • 打赏
  • 举报
回复
问题很急,顶一下

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧