WinCE下的流驱动

二种方法加驱动--->NK.bin

方法一:
   1. dll文件放到 C:/WINCE500/PLATFORM/AT4X0BD/FILES目录中.

   2. platform.reg
      ;----------------------------------------------------------------------------
      ;MyDriver.dll  //20080305
      ;----------------------------------------------------------------------------
      [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MyDevDrv]
      "Prefix"="STR"
      "Dll"="MyDriver.dll"
      "Order"=dword:1

   3. platform.bib
      ;------------------------------------------------------
      ;MyDriver.dll  //20080305
      ;------------------------------------------------------
      MyDriver.dll     $(_FLATRELEASEDIR)/MyDriver.dll     NK SH


   调用方法:
      HANDLE hStr=CreateFile(TEXT("STR1:"), GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);
   
      if (INVALID_HANDLE_VALUE == hStr)
      {
        ::MessageBox(NULL, _T("Cannot open STR1:"), _T("StringApp"), MB_OK);
        return;
      }
 
      // Write a string to the driver.
      DWORD  dwWritten = 0;
      WCHAR* pString   = TEXT("This is a test of the String Driver. This is o-nly a test");
      WriteFile(hStr, pString, (_tcslen(pString)+1), &dwWritten, NULL);

      // Read string from driver.
      WCHAR wch[BUFFER_SIZE];
      DWORD dwBytesRead = BUFFER_SIZE;
      memset(&wch, '/0', BUFFER_SIZE * sizeof(WCHAR));
      ReadFile(hStr, wch, sizeof(wch), &dwBytesRead, NULL);
      ::MessageBox(NULL, wch, TEXT("StringApp"), MB_OK);
 
      // Disconnect from driver.
      CloseHandle(hStr);

 

 

方法二:

       为了让CEPB Debug代码.
     
       1. 在platform/CPU's folder/drivers 下新建一个目录,然后在drivers目录中的dirs文件中加入以你刚          新建的目录名.

       2. 在刚新建的目录下,新建你的C源代码文件,在其中实现上面所述的函数,及其功能。
          新建名称分别为sources, makefile, mydev.def的文件。

          (1)      
          makefile: 只需要这样一行
          !INCLUDE $(_MAKEENVROOT)/makefile.def

          (2)
          mydriver.def
          LIBRARY     MyDev(这个字符串要和将要生成的动态库的文件名一样)
         
          EXPORTS
          XXX_Init
          XXX_Deinit
          XXX_Open
          XXX_Close
          XXX_PowerOff
          XXX_Power_Down
          XXX_IOControl

          (3)
          Sources:
          TARGETNAME=MyDev  (指定要生成的动态库的名称)
          TARGETTYPE=DYNLINK (指定要生成的是一个动态库)
          (下面两项指定需要与哪些动态库链接, 一般要第一项就足够了)
          TARGETLIBS=$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
                     $(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib

          DEFFILE=MyDev.def (指定def文件)

          DLLENTRY=DllEntry (指定动态库的入口函数)

          SOURCES= (请在这写上你所有源文件的名字,它们将会被编译)

   
   //也必须修改.bib, .reg等文件,这样系统才能调用.
   (4) platform.reg
      ;----------------------------------------------------------------------------
      ;MyDriver.dll  //20080305
      ;----------------------------------------------------------------------------
      [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MyDevDrv]
      "Prefix"="STR"
      "Dll"="MyDriver.dll"
      "Order"=dword:1

   (5) platform.bib
      ;------------------------------------------------------
      ;MyDriver.dll  //20080305
      ;------------------------------------------------------
      MyDriver.dll     $(_FLATRELEASEDIR)/MyDriver.dll     NK SH


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值