2009年2月25日

WinCE service开发总结

因为要做一个CDMA/WiFi连接管理监视模块,所以开始研究WinCE service开发。虽然网上有一些文章将如何开发service,包括MSDN上有一些例子说明,开发过程中还是遇到一些问题导致耽搁了好久。特此记录以帮助可能遇到同样问题的后来人。
第一步,建立一个WinCE dll工程。
第二步,按照service开发规则定义一系列接口,并定义def文件。
  extern"C" DWORD __declspec(dllexport) TSX_Init (DWORD dwContext);
  extern"C" DWORD __declspec(dllexport) TSX_Deinit (DWORD dwContext);
  extern"C" DWORD __declspec(dllexport) TSX_IOControl (DWORD dwOpen, DWORD dwCode,
PBYTE pIn, DWORD dwIn,
PBYTE pOut, DWORD dwOut,
DWORD *pdwBytesWritten);
  extern"C" DWORD __declspec(dllexport) TSX_Write( DWORD dwData, LPCVOID pInBuf, DWORD dwInLen) ;
  extern"C" DWORD__declspec(dllexport) TSX_Seek( DWORD dwData, long pos, DWORD type);
  extern"C" DWORD__declspec(dllexport) TSX_Read( DWORD dwData, LPVOID pBuf, DWORD dwLen) ;
  extern"C" DWORD __declspec(dllexport) TSX_Open( DWORD dwData, DWORD dwAccess, DWORD dwShareMode) ;
  extern"C" DWORD__declspec(dllexport) TSX_Close(DWORD dwData) ;

def文件定义如下:
  EXPORTS
   ; Explicit exports can go here
   TSX_Deinit
   TSX_Init
  TSX_IOControl
  TSX_Close
   TSX_Open
  TSX_Read
   TSX_Seek
   TSX_Write

提示:这里的前缀有特殊用处,将会出现在后面的注册表内容里,用于services.exe进行方法引用。
第三步,开发代码。如果需要在某处打断点调试,需要使用DebugBreak()方法。我在VS2008里尝试F9是无法将程序断下来。但是在PBCE中F9还是有效的。
第四步,编译并生成DLL文件。
第五步,开始调试。首先,启动Emulator,并通过VS2008自带的remote file viewer将dll传到/window目录下。然后,通过remote registry editor编辑service注册信息。
  [HKEY_LOCAL_MACHINE\Services\TESTSVC]
    "Dll"="testsvc.dll"
    "Order"=dword:8
    "Keep"=dword:1
    "Prefix"="TSX"
    "Index"=dword:0
    "Context"=dword:0
    "DisplayName"="Sample MFC Service"
    "Description"="Sample Service demonstratig MFC usage"

提示:Prefix就是接口使用的前缀
第六步,重启Emulator,如果没有什么错误的话,service就可以运行了。

2009年2月24日

减少自己的失误,等待对手的失误

打球是一个双方竞争的过程,胜败不是完全可控的。影响的因素有以往训练状况,当时的身体状态和心理因素,当时的环境因素还有运气。打球获胜的原则是根据当时的条件选取合适的战术,减少自己的失误,同时等待对方失误。这里对方的失误就是运气成分。
在不同的对手交战时,这些因素起的作用不同。当训练状况差异明显时,其他因素就无法起到决定胜负的作用。当训练水平相当时,心理、环境、运气这些曾经不起眼的因素则成为关键因素。

2009年2月18日

澳网决赛有感

王者之心,在遇到劲敌时坚信自己会胜利,心无旁骛完全投入战斗的心态。
当费德勒试图通过改变节奏,变换战术来获得速胜时,他的王者之心已经出现裂缝。纵观全局,纳豆始终如一的战术,坚韧的心态,击碎了奶牛的第十四个大满贯的幻想。在王者的对决中,奶牛先在心理上产生了恐惧,害怕相持,害怕一发质量不高给纳豆机会,害怕反手给对方的压迫不够。随之而来的是正手回球的犹豫,一发成功率低,反手不断下网。

2009年2月3日

人性本疑以及如何影响人生

“疑”我定义为对未知事物的一种思维上的反应。也可理解为“好奇”
幼年时我们对世界充满好奇,我们会用一切可以利用的手段去感知世界,比如用嘴巴去啃一切东西;成年后好奇心驱使我们在某些领域不断钻研发展。我们一直在好奇心的驱使下去生活。
在遇到好奇的事情后,有两种选择,尝试着了解或者躲避开,他们的生活也因此而发生着不同的变化。对于敢于尝试的人来说,失败和伤痛是在所难免的,但是随之而来的是可能的巨大回报;对于躲避的人来说,他们的生活将如一潭死水,没有滔天巨浪,也没有绚烂多彩。
可以理解为一棵二叉树,逃避是左,尝试是右,对于习惯逃避的人生活只有永远向左的一条路径,而对于敢于尝试的人将拥有一棵树一样的生活。

2009年2月1日

思考:中国为何缺少世界级的高端品牌

今天去绑羽毛球拍线,忽然想到一个问题,为何这么不起眼的一个东西Yonex公司可以把它做成世界级的产品,而中国国内无法做到。又想到前两天看到一篇文章,说Thinkpad被联想收购之后也渐渐渐失去的世界级高端的光彩。
为何我们所知道的国内公司,我们所在的公司都是在一些竞争者众多,利润低廉的市场内和别人混战呢?为何不能开拓新的市场,获得垄断性的优势呢?
思考中。。。
http://www.cww.net.cn/TComment/html/2009/2/6/200926100116128.htm