
WinCE
rickys2080
Just for fun
展开
-
WinCE KernelIoControl函数5.0和6.0的区别
在WinCE的BSP中的OAL部分,会有一个ioctl.c或者oemioctl.c文件,里面主要定义了一个叫OEMIoControl(..)的函数。可以说OEMIoControl是一个很有用的WinCE内核输入/输出函数。在WinCE5.0中,应用程序和驱动程序可以通过调用KernelIoControl(..)函数来访问WinCE内核,导致调用OEMIoControl函数,这样应用程序和驱转载 2012-10-30 16:44:30 · 1226 阅读 · 0 评论 -
GetLastError()返回值的意义
〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效转载 2013-04-25 16:10:54 · 1067 阅读 · 0 评论 -
WinCE中的Data/ Prefetch Abort等异常定位(通过map文件)
在调试WinCE程序的时候,有时候会碰到Data/Prefetch Abort的异常,相信从事过WinCE开发的人对这种异常信息应该都不会陌生,系统会在调试控制台输出如下类似信息:Exception 'Prefetch Abort' (3): Thread-Id=05870016(pth=9970c000), Proc-Id=057c0016(pprc=9973cdd4)‘TCPClien转载 2013-01-17 11:01:30 · 2355 阅读 · 0 评论 -
WinCE串口驱动PDD层代码简单分析
1. PDD层代码简单分析PDD层的主要包含了以下2个类:CSerialPDDPowerUpCallback, CSerialPDD, 下面简单的分析这2个类的作用。1.1 CSerialPDDPowerUpCallbackCSerialPDDPowerUpCallback 类用于串口电源上电时的处理。在调用CSerialPDD::Init()后会创建一个CSerialPDDPow转载 2013-01-23 13:29:42 · 1185 阅读 · 0 评论 -
winCE驱动中各函数被调用时机
函数名称描述XXX_Close在驱动程序关闭时应用程序通过CloseHandle函数调用这个函数XXX_Deinit当设备管理器卸载一个驱动程序时调用这个函数XXX_Init当设备管理器初始化一个具体设备时调用这个函数.XXX_IOControl上层的软件通过转载 2013-01-04 13:51:24 · 963 阅读 · 0 评论 -
winCE注册表读写
const LPCTSTR KeyName = L"GPS_STATE"; //注册表健名const LPCTSTR ItemName = L"GPS_OPENED";//子键名HKEY hKey = NULL;//创建注册表键值,并打开if(ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, L"",原创 2012-12-17 14:48:09 · 2508 阅读 · 0 评论 -
Windows CE的体系结构和功能
http://www.cnblogs.com/hbt19860104/archive/2008/01/22/1048729.html Windows CE体系结构图操作系统层操作系统的基本功能被放在多个独立的进程(exe)里面实现。在运行的时候,这些进程大致有如下几个:l 内核NK.EXEl 图形系统GWES.转载 2012-12-17 17:43:28 · 1217 阅读 · 0 评论 -
nk.bin和nk.nb0
nk.bin和nk.nb0都是CE的镜像。然而,我们在下载的过程中常常会遇到,有时候下载nk.bin,有时确是下载nk.nb0,这两者到底有什么区别呢? 首先,NK.BIN中的内容是被压缩过的,NK.NB0中的内容是没有压缩的。 两者大小的区别是因为在生成过程中BIN会将你设定的后面的NULL自动去掉,而NB0就不会。 NB0的大小就是第三个变量ROMSIZE所设置的大小。 由转载 2012-11-23 14:42:50 · 890 阅读 · 0 评论 -
winCE驱动加载马上被卸载的故障分析
驱动加载之后,没有调用init函数。直接就退出来了。分析原因是:WINCE的流式驱动函数模型为:XXX_Init前缀必须是三个字母。否则将不执行init函数。附另外几个驱动加载失败的原因:1. dll 没有刷新。2. 注册表中的 Prefix 选项的 值 与 XXX不一致。3. init 返回 0.4. platform.bib 中没有将 dll转载 2012-11-28 13:41:48 · 745 阅读 · 0 评论 -
CE开发中可能遇到的问题
我会在blog中将开发CE5.0时遇到的问题总结出来,供有遇到相同问题的朋友参考。因为我在解决这些问题时,也是参考了网上很多朋友的文章或帖子,在这里对他们表示一下感谢呵呵。 我对问题的解释如果有不对的地方还请高手指正,免得误人子弟哈。1. 如何加入或删除BSP中的模块。这里以display驱动为例来讲解。BSP的根目录下有一个$(platform name).bat文件。里转载 2012-11-26 11:14:18 · 894 阅读 · 0 评论 -
在WinCE中调用系统自带的输入面板
CBSi中国·PChome 责编: 吴宏(软件兼职) 2011-11-25 相信用过WinCE的朋友对系统自带的输入面板都不陌生吧!比如在你的程序中有一个CEdit编辑框,当点击编辑框的时候希望软键盘自动弹出,当你输入完成后,在其他的地方点击一下后,软键盘就会自动隐藏。这个时候我们需要用到一个很简单的API:BOOL SipShowIM(DWORD dwFlag);dwFlag转载 2012-10-25 15:47:25 · 1076 阅读 · 0 评论 -
WinCE驱动中的错误处理原则
应用程序调用CreateFile()失败的情况下,并不会调用CloseHandle(),因为根本没有得到Handle。CloseHandle()只会被正确的CreateFile()后才会被使用。所以,XXX_Open()函数要有错误回滚机制,以便应对本函数内部某个步骤出错的情况。XXX_Open()的回滚操作还应该放一份到XXX_Close里,在正确运行的情况下使用此回滚。原创 2013-04-27 10:40:49 · 872 阅读 · 0 评论