当前位置: 代码迷 >> WinCE >> wince 驱动与应用程序间数据传输解决方法
  详细解决方案

wince 驱动与应用程序间数据传输解决方法

热度:223   发布时间:2016-04-28 13:50:49.0
wince 驱动与应用程序间数据传输
小弟初学wince驱动开发,目前想把驱动里的一个int型变量利用XXX_Read函数传送给应用程序,不知道具体应该怎么编写,应用程序接收也不知道怎么写,请问各位大侠有没有一些例子可供参考,谢谢

------解决方案--------------------
1 driver 和 app通信最简单的办法就是用named event。
SetEventData // 设置event数据
GetEventData // 获取event数据

2 从楼主的表述来看,是想通过流驱动的XXX_Read接口来实现吧。
应用层需要先CreateFile打开你的驱动,然后通过句柄ReadFile。
或者通过DeviceIoControl函数结合Ioctls来做。
前提都是你先搞好你的流驱动,这方面网上有很多例子,百度下吧。
------解决方案--------------------
两种方法:
流驱动中通过XXX_Read()函数返回值
应用程序中用ReadFile(hFile, &status, 1, &len, NULL)读取
或者在流驱动中XXX_IOControl()函数返回值
在应用程序中用DeviceIoControl()读取
------解决方案--------------------
给个ReadFile的给你参考一下:
C/C++ code
DWORD CSD_Read(DWORD hOpenContext, LPVOID pBuffer, DWORD Count){    OutputDebugString( L"Scan Code Driver Read\r\n" );        // ADD YOUR HANDLER    DWORD i = 0;    int8 rt;    char *outptr;    (char *)outptr = (char *)pBuffer;    char cBuf[MaxBarReadBuf];    rt = GetBarCode(cBuf);//GetScanCode(cBuf);//    if(rt > 0){        for(i=0; i<rt; i++){            // 防止数据溢出            if(i >= MaxBarReadBuf)        break;            *(outptr) = cBuf[i];            outptr++;        }    }    RETAILMSG(1, ( TEXT("** CodeScanDrv.cpp ** rt=%d, i=%d\r\n"), rt, i) );    return rt;}
  相关解决方案