cn_silicon
驱动牛犊
驱动牛犊
  • 注册日期2006-08-19
  • 最后登录2009-02-24
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望54点
  • 贡献值0点
  • 好评度51点
  • 原创分0分
  • 专家分0分
阅读:1266回复:0

弱问:驱动程序返回不了给定数据

楼主#
更多 发布于:2007-04-05 14:07
Test(PIRP irp)
{
    USHORT val;
    val=14;
    PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation( irp );
    ULONG dwInputLength = irpStack->Parameters.DeviceIoControl.InputBufferLength;
    ULONG dwOutputLength= irpStack->Parameters.DeviceIoControl.OutputBufferLength;


    PVOID p = ExAllocatePoolWithQuota(NonPagedPoolCacheAligned, 2);


    RtlCopyMemory(p, &val, 2);
    irp->AssociatedIrp.SystemBuffer=p;
    return CompleteIrp(irp,0,2);}

CompleteIrp( PIRP Irp, NTSTATUS status, ULONG info)
{
    Irp->IoStatus.Status = status;
    Irp->IoStatus.Information = info;        // return byte information
    IoCompleteRequest(Irp,IO_NO_INCREMENT);
    return status;
}

为什么应用程序端接收不到我给定的数据呢?
各位大侠,请指教
附件名称/大小 下载次数 最后更新
c.txt (1KB)  0 2007-04-05 14:07
游客

返回顶部