prece
驱动牛犊
驱动牛犊
  • 注册日期2007-04-02
  • 最后登录2007-04-18
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1776回复:2

关于应用程序和驱动程序的通信问题

楼主#
更多 发布于:2007-04-09 00:32
  我想在pc端读取设备的配置信息,于是我的代码如下:

驱动空间:
NTSTATUS USBCANDevice::USBCAN_IOCTL_READ_BOARD_INFO_Handler(KIrp I)
{
NTSTATUS status = STATUS_INVALID_PARAMETER;

    t << "Entering USBCANDevice::USBCAN_IOCTL_INIT_CAN_Handler, " << I
    ULONG byteNumber = I.IoctlOutputBufferSize();
    PURB pUrb = m_Lower.BuildVendorRequest(
        (PUCHAR)I.IoctlBuffer(),                        byteNumber,
            0,                                1,                                0,                                TRUE                                );
    status = m_Lower.SubmitUrb(pUrb,NULL,NULL,5000L);
    I.Information() = byteNumber;
    I.Status() = status;
    return status;
}

应用程序:
void Test_USBCAN_IOCTL_READ_BOARD_INFO(void)
{

    CHAR    bufOutput[10];    // Output from device
    ULONG    nOutput;                        
    printf("Issuing Ioctl to device - ");
    if (!DeviceIoControl(hDevice,
             USBCAN_IOCTL_READ_BOARD_INFO,
                         0,
                         0,
                         bufOutput,
                         sizeof(bufOutput),
                         &nOutput,
                         NULL)
       )
    {
        printf("ERROR: DeviceIoControl returns %0x.", GetLastError());
        Exit(1);
    }
}

现在我的问题是:
应用程序中我明明就是用阻塞方式creatfile的,但是调用deviceiocontrol的时候有时候成功,有时候立即返回一个错误,getlasterror得到errorcode为1f。
同时驱动程序里在submiturb有时候也出现错误,status为0xc0000001。


请问各位老师这个问题出在哪?


还有谁能给一份正确稳定的代码让我看看,小弟在此谢过了。
nj6961
驱动牛犊
驱动牛犊
  • 注册日期2004-11-17
  • 最后登录2017-01-11
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望221点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-07-23 00:56
我也遇到和你一样的问题
submiturb的返回码要么一直对,要么一直错!
我和你一样,也是用driverworks写的 驱动

可以 连续读回来16mbytes,每次1kbytes,submiturb的返回码都是对的!

也存在整个下午无论如何都不对的情况
错误码恒定为0xc0000001

兄台,你解决了么???
harryliu
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2009-10-04
  • 粉丝1
  • 关注0
  • 积分94分
  • 威望50点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-16 10:00
我也遇到相同的问题,兄弟们搞定门?
驱网无线,快乐无限
游客

返回顶部