转到正文

iT人 – theiter

关注IT技术,研究移动开发技术,记录IT人的生活

存档

分类: WindowsMobile

之前发布了一个RSS阅读器(WM版本)。一些朋友提了些宝贵的建议,这篇文章打算解释一下相关的问题同时我还会把自己订阅的一些feeds放上来,大家可以直接导入到MRssReader里面。

首先就几个问题做一下解释:

1.如何订阅一些被屏蔽的博文?

MRssReader支持代理模式。在“参数”->“连接”->“代理”,可以添加Http代理或者Socket代理。大家可以在网上找一些比较好用的代理,例如http://www.proxycn.com/

2.如何与Google Reader同步?

在“参数”->“同步”填写你的Google Reader用户名和密码;在频道界面更新就会同步GoogleReader的订阅内容到MRssReader上。

3.为什么阅读时不显示图片?

在“参数”->“缓存”界面把“缓存图片”项选上,就会在更新的时候下载图片。

4.如何离线阅读?

在“参数”->“缓存”界面把“缓存文章供离线时阅读”项选上,就会在更新的时候下载文章到本地,当你选择“离线阅读”模式时,MRssReader就会打开本地缓存的内容而无需联网下载内容。

5.能不能在程序安装之后添加一些默认的Feeds?

当前版本没有实现该功能,暂且只能通过导入OPML文件批量添加Feeds。计划在下个版本中添加本功能。

下面是我自己订阅的一些Feeds分享给大家。点击这里下载:theiter-newsfeeds (100)

今天媒体纷纷报道,微软推出第一款Android平台软件(Microsoft Tag Reader)。先看看媒体的报道:

据国外媒体今日报道,微软面向Android平台发布了首个手机应用Tag。

该应用此前已经推出了Windows Mobile和iPhone(手机上网)等版本,它可以将用户的
手机变成一个条形码扫描器,通过摄像头来解读2D条形码信息。但Android用户此前已经可以通过Barcode Reader和谷歌Goggles来扫描条形码信息。

业内人士认为,考虑到微软与谷歌在手机操作系统及其他领域的竞争关系,微软针对Android平台发布Tag的确有些出人意料。

作为两家在智能手机操作系统上有直接竞争关系的公司,微软推出该软件确实会引起广泛的关注。但是如果仔细研究Microsoft Tag服务和之前发布的相关软件就很容易理解了。

首先,微软之前已经发布的多个移动平台的Microsoft Tag reader软件,包括Symbian,WindowMobile,iPhone,BlackBerry等等。

那么,Microsoft Tag服务是什么呢?

Microsoft Tag技术允许用户把手机当成“移动条形码阅读器”来使用,用户只要将手机摄像头对准条形码,然后拍照,这时手机中的Tag应用就会对条码所含信息进行解释。Microsoft Tag不仅仅具备QRCode相关的能力,更重要的是它基于一种叫做“高容量彩色条码”(HCCBs = High Capacity Color Barcode)的技术,而这个HCCBs是由Microsoft Research研究出来滴!Microsoft Tag保存了信息的唯一编号!这个唯一编号对应的原始信息则保存在微软的服务器上。这样一来,就可以保存非常多的信息,而且可以统计到每一个Tag的使用情况。非常适合用于出版物、电子产品等等场合(其实就是一种二维条码,微软自己二维条码)。

读到这里大家可能就已经明白了,原来微软的重点是在他们的Microsoft Tag服务,支持越多的平台,对其Microsoft Tag服务的推广和应用当然越有利。

虽然到目前为止微软的Microsoft Tag服务还没有明确的商业模式,但是基于移动互联网的条码搜索等业务应该是未来移动应用的一个方向,目前包括谷歌公司在内的其他公司都在积极研究移动设备读取条形码这项技术(Google shopper for Android)。

摘要

在 Microsoft Windows 平台上有几种以原子方式锁定代码和数据的不同方法。此白皮书的主要目的是向开发人员简要介绍 Windows 中进行锁定的不同方法以及与这些锁定有关的相应性能开销。因为未来架构将是多核架构,因此此信息非常适用。

继续阅读

最近需要做点与网络连接相关的东西,研究了下WM上创建接入点的方法,把一些自己对该知识点的理解和一些代码片段记录下来。

继续阅读

转自:http://blog.mcuol.com/User/iwillbeback008/Article/10045_1.htm

Windows CE驱动程序结构概述

Windows CE的驱动程序可以从多种角度进行区分。
1.从加载以及接口方式来区分

可以分为本机设备驱动(Built-In Driver)、可加载驱动(Loadable Driver)以及混合型驱动。

(1)本机设备驱动

本机设备驱动即Native Device Drivers。这些驱动程序在系统启动时,在GWES的进程空间内被加载,因此它们不是以独立的DLL形式存在。这些驱动对应的设备通常在系统启动时就被要求加载,如果没有串口,也没有LCD的话,整个系统就不能和用户信息交流。另外,流驱动程序也能作为本机设备驱动而存在。

(2)可加载驱动

也被称为流驱动。

这些驱动可以在系统启动时或者和启动后的任何时候由设备管理器动态加载。通常它们以DLL动态链接库的形式存在,系统加载它们后,这些驱动程序也只是以用户态的角色运行。可加载驱动程序通过文件操作API来从设备管理器和应用程序获得命令。

在Windows CE中典型的可加载驱动有以下各类:

n     PCMCIA driver(PCMCIA.dll)

n     Serial driver(SERIAL.dll)

n     ATAFLASH driver(ATA.dll)

n     Ethernet driver(NE2000.dll,SMSC100FD.dll)

(3)混合型驱动

这类驱动综合了前两种驱动的特性。它同时使用了stream接口和custom-purpose接口。

混合型驱动主要是提供custom-purpose 接口,但是由于需要和系统中只允许使用stream接口的那些模块进行交互,因此也必须提供stream接口。例如,PC card socket驱动同时拥有两套接口。
2.从驱动层次上分

可以分为独立驱动和层次型驱动。图9-1是这两种驱动在系统中的位置。

image

图9-1  独立驱动和层次型驱动在系统中的位置

(1)独立驱动程序

可以将驱动程序编写成同时包含MDD和PDD层的独立驱动。独立驱动的代码应当包括中断服务例程和平台相关处理函数。使用独立驱动的好处在于可以省去MDD和PDD层驱动之间的信息传递,这一点在实时处理中非常重要。另外,如果设备的操作和MDD驱动层的接口描述相吻合,可以使用独立驱动程序提高处理性能。

(2)层次型驱动

层次型驱动分为两层,较上层的Model Device Driver(MDD)和比较下层的Platform Dependent Driver(PDD)。MDD实现的是和平台无关的功能,它描述了一个通用的驱动程序框架。而PDD是和硬件以及平台相关的代码组成。MDD调用PDD中特定的接口来获取硬件相关的信息。当使用层次型驱动的时候,一般只需要基于相近的样列驱动程序,针对特定的硬件修改PDD程序,MDD建立的框架可继续使用。由于层次间接口的层层调用以及消息的传递,使得处理速度相对独立驱动程序要慢,因此在时间要求苛刻的环境下,层次型驱动显得不是很适合。

一般MDD将完成以下任务。

n     连接PDD层,并且定义它要使用到的Device Driver Service Provider Interface(DDSI)函数集;

n     向设备管理器提供Device Driver Interface(DDI)接口集;

n     处理复杂的事件,如中断等等。

每一种MDD驱动都处理不同种类的设备。DDI是由MDD层驱动以及独立型驱动提供给设备管理器的一组接口集。DDSI是由PDD向MDD层提供的接口集。公司的设备可以用同样的DDI。

在开发过程中,MDD层驱动是不需要被修改的。微软公司不保证被修改的MDD能在系统中正确运行的。和MDD层驱动不同的是,PDD层驱动必须被修改成和特定硬件相匹配的代码。程序员可以自己开发一个PDD程序,多数情况下建议开发者在Platform Builder提供的样例驱动程序上进行修改。例如,Platform Builder提供了Wavedev驱动程序,它的代码位于%WINCEROOT%\public\common\oak\drivers\WAVEDEV下,这是一个容易理解的流接口层次型驱动程序。此样例audio驱动程序仅提供了播放及录音功能,只提供播放功能的结构框架,播放功能和音频设备的交互还需要PDD层来解决。