WinC驱动开发问题精华集锦.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WinC驱动开发问题精华集锦

如何让系统加载自己写的驱动程序??? 两种办法:? 1、在[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]下添加注册键。? 2、在应用程序中调用ActivateDeviceEx。? ? ?在一些文件中用分号来表示注释,例如下面的内容?? ;?@CESYSGEN?IF?SERVERS_MODULES_HTTPD? ;?@CESYSGEN?ENDIF? 在“CESYSGEN...”前加了“@”,有没有什么特别的含义?? 在WINCE的一些文件中,用“;”作为注释并在注释文字中用@CESYSGEN作为标记,后面接条件语句。Cefilter.exe工具负责按照条件来筛选文件内容,所以不要轻易地删除包含@CESYSGEN的注释语句。? ? ?通过串口建立ActiveSync联接,串口线用三线的可以吗??? 不可以,因为用串口同步时要用到其余口的状态。? ?? ?????WINCE是否支持MAPI?? 不支持。WINCE自带的pmail.exe软件也不是很好用。建议自开发邮件收发软件。如果需要购买WINCE下邮件收发软件可以联系我。? ? ?如何旋转屏幕显示的内容?? 例子代码如下(前提是显示驱动程序支持旋转):? DEVMODE??devmode?=?{0};? ?devmode.dmSize?=?sizeof(DEVMODE);? ?devmode.dmDisplayOrientation?=?DMDO_90;???????///垂直模式? ?devmode.dmFields?=?DM_DISPLAYORIENTATION;? ?ChangeDisplaySettingsEx(NULL,?devmode,?NULL,?0,?NULL);??///改变显示的设置? ?CRect??rcWorkArea(0,?0,?320,?240);????///整个屏幕尺寸? ?///设置客户区大小并广播消息,这样所有软件也就随之更改显示? ?SystemParametersInfo(SPI_SETWORKAREA,?0,?(void*)rcWorkArea,?SPIF_SENDCHANGE);?? ? ?请问如何修改字形缓存的容量?? [HKEY_LOCAL_MACHINE\System\GDI\GLYPHCACHE]? limit=dword:0400? ? ?如何得到从WINCE启动开始到现在的时间?? 调用API?GetTickCount,得到的值为32位整数,单位为毫秒。? ? ?如何调用WINCE的软键盘?? 调用API?SipShowIM(SIPF_ON),前提是内核加入了软键盘组件。? ? ?基于HIVE的注册表,如何在系统关闭前保存注册表的数据到文件system.hv?? 调用API?RegFlushKey函数。? ? ?使用VirtualAlloc和VirtualCopy的时候需要注意哪些事项?? 1、VirtualAlloc的作用是申请虚拟地址空间,这肯定不是最终的目的,最终目的可能是申请物理内存、映射寄存器、提交文件等。没有一个目的会在意虚拟地址空间的位置,所以尽量传递参数1为0,也就是让WINCE自动分配虚拟地址空间。VirtualAlloc分配地址空间实际上是以64KB为单位,所以要指定申请的虚拟空间的首地址的话,参数1应该为64KB的整数倍,申请的长度也应该为64KB的整数倍,即使你不需要那么大。? 2、VirtualCopy的主要作用是映射物理地址空间,如果参数2为物理地址,那么最后一个参数要添加PAGE_PHYSICAL,参数2必须是256的整数倍。如果参数2为虚拟地址(0上),那么最后一个参数就不要添加PAGE_PHYSICAL,WINCE内核会根据这个虚拟地址找到对应的物理地址。? ? ?驱动程序和应用程序之间传递数据时何时调用MapPtrToProcess?? 因为设备管理器负责加载驱动程序DLL,这意味着当应用程序调用驱动程序接口函数的时候,WINCE内核会将调用驱动程序接口函数的线程转移到设备管理器的进程空间然后执行具体的驱动程序代码,应用程序和设备管理器处于两个进程空间,这就造成设备管理器无法访问应用程序传递的指针(虚拟地址),所以当我们在应用程序中传递指针给流驱动程序接口函数时,WINCE内核从中作了一个地址映射,例如ReadFile、WriteFile、DeviceIoControl函数的参数凡是指针都经过了映射才传递给驱动程序,所以很多驱动程序开发者并不了解其中的奥秘就可以编程了。但是如果参数是一个指向一个结构体的指针,而结构体里包括一个或多个指针,那么WINCE

文档评论(0)

vshoulrengb3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档