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的给你参考一下:
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;}