开发一个虚拟的Mobile驱动,用Pb调试,该驱动先被load,接着又被unload掉,这可能是什么问题?

charlie790801 2007-01-16 07:47:28
谢谢。
...全文
225 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Synwell 2012-02-12
  • 打赏
  • 举报
回复
遇到同样问题了,有高手帮助一下?
charlie790801 2007-01-16
  • 打赏
  • 举报
回复
*_open和*_init都没有被调用,我在里面写的retailmsg都没有被pb打印出来。


我dllmain的实现是空的,就是
BOOL APIENTRY DllMain(HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
{
RETAILMSG(1, (L"DllMain DLL_PROCESS_ATTACH\r\n"));
break;
}

case DLL_PROCESS_DETACH:
{
RETAILMSG(1, (L"DllMain DLL_PROCESS_DETACH\r\n"));
break;
}
}

return TRUE;
}

然后打出这两个retailmsg
charlie790801 2007-01-16
  • 打赏
  • 举报
回复
这个流驱动是仿照kepad或者display的驱动,很简单的东西,只实现了init ,deinit,iocontrol,open,close等。

然后在platform.reg中 中的..\driver\buildin中增加注册表项
; @XIPREGION IF PACKAGE_OEMDRIVERS
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\drivername]
"Prefix"="EGM"
"Dll"=drivername.dll
"Index"=dword:0
"Order"=dword:40
"Flags"=dword:00010000
; @XIPREGION ENDIF PACKAGE_OEMDRIVERS

之后 makeimg ,然后用pb来调试, 总是在加载之后,就unload该drivername.dll


我不清楚,作为一个需要系统启动就加载的驱动,除了增加这些注册表项,之外还需要增加什么注册信息。
非常感谢。

19,498

社区成员

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

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