- 博客(6)
- 收藏
- 关注
转载 weg
http://write.blog.csdn.net/postlist/0/all/deletedhttp://write.blog.csdn.net/postlist/0/all/deletedhttp://write.blog.csdn.net/postlist/0/all/deletedhttp://write.blog.csdn.net/postlist/0/all/deletedhttp
2015-02-28 09:29:41 272
转载 wince驱动开发四
<br /> 7. TryEnterCriticalSection和EnterCriticalSection的差别是什么? <br />如果EnterCriticalSection将一个线程置于等待状态,那么该线程在很长时间内就不能再次被调度。实际上,在编写得不好的应用程序中,该线程永远不会再次被赋予CPU时间。TryEnterCriticalSection函数决不允许调用线程进入等待状态。它的返回值能够指明调用线程是否能够获得对资源的访问权。TryEnterCriticalSection发现该资源已经被另
2010-08-13 09:52:00 373
转载 wince驱动开发三
<br />5、信标对象<br />信标对象,也叫信号灯,用于限制资源访问数量,他包含一个引用计数,一个当前可用资源数,一个最大可用资源数。如果当前可用资源数大于0,信标对象处于有信号状态。当可用资源数等于0,信标对象处于无信号状态。<br />和信标对象相关的函数: HANDLE CreateSemaphore(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount,
2010-08-12 18:57:00 617
转载 wince驱动开发二
6、驱动中注意的要点 1:CE下同名设备不能大于10CE5.0中已经没有这个问题了,以前的版本可以这样做:只给上层输出一个设备,然后用一个IOCTL去打开一个个的物理设备这样就可以做到不受任何限制了。2:MDD与PDD一个驱动程序通常会被分成硬件相关(PDD)与硬件无关(MDD)层两部分。当然,这种分层不是必须的,只是采用这种分层以后可以少写很多代码,因为微软提供了很多驱动程序的MDD。即使CE中没有我们所写的驱动程序的样例,采用这种结构以后,当需要写第二个程序时,就可以重用它的代码,就可以提高开发效率。M
2010-08-12 17:57:00 385
转载 wince驱动开发一
<br />一:寄存器的使用:<br />1、wince内部对物理地址的访问:<br />可以有3个途径。<br />1:直接使用g_oalAddressTable(oemaddrtab_cfg.inc)的已经定义好的,物理地址对应的虚拟地址。<br />如:<br />DCD 0x80000000, 0x30000000, 128 ;<br />访问虚拟地址0x80000000实际就是访问物理地址0x30000000。<br /> <br />2:在OAL层,使用OALPAtoVA函数。<
2010-08-12 17:52:00 588
原创 2010.08.11:wince注册表分析!
<br />我们在添加删除驱动的时候我们都要修改注册表,可知注册表是很重要的,现在来仔细分析下它。<br />HKEY_LOCAL_MACHINE,硬件和驱动配置数据;<br />HKEY_CURRENT_USER,用户配置数据;<br />HKEY_CLASSES_ROOT,OLE和文件类型匹配配置数据;<br />HKEY_USERS, 适用于所有用户的数据;<br />一、HIVE 注册表功能<br />[HKEY_LOCAL_MACHINE/init/BootVars]<br /> "Syste
2010-08-11 15:15:00 453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人