阅读:1609回复:2
WinCE中用stream-interface模式开发PCMCIA(类似串口)驱动,Com_Open()返回值与在application中调用CreateFile() API的返回值不一样?在WinCE中用stream-interface模式开发串口的驱动程序时,在application中CreateFile() API,系统将自动调用驱动程序中的Com_Open(),Com_Open的返回值应该作为CreateFile()的返回值 我的程序在调用Com_Init()时是正确的,但是在调用Com_Open()之前却有一个ERROR_CALL_NOT_IMPLEMENTED的错误(错误号为120),为什么会这样?会不会是firmware和CardService与Client driver之间有什么问题? 而且现在我得到的Com_Open()的返回值和CreateFile()的返回值不一样。导致后面WriteFile() API调不到驱动程序中的Com_Write(),但是ColseFile() API却能够调用到驱动的Com_Close(),但是可能是因为把CreateFile()的返回值作为传入句柄,而这个值是和Com_Open()返回的不一样,所以Com_Close()会死掉,并且产生一个ERROR_TOO_MANY_OPEN_FILES的错误(错误号为4)。 有没有人有什么意见可以提供给我? 谢谢! |
|
|
沙发#
发布于:2004-10-19 15:01
Douglas Boling 的《Windows CE 程序设计(第三版)》的原话如下:
The open context value returned by the Open function is NOT the handle returned to the application when the CreateFile function returns. 可见流接口通过文件系统的转换就是如此呀。 |
|
板凳#
发布于:2004-10-22 10:56
谢谢!
2年前的问题了,呵呵:) |
|
|