baronwang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1192回复:1

How to read/write employ hidclass minidriver for USB device

楼主#
更多 发布于:2004-05-12 17:29
NTSTATUS DispatchReadReport(
    IN  PDEVICE_OBJECT  DeviceObject,
    IN  PIRP            Irp
    )
{
    PDEVICE_EXTENSION   deviceExtension;
    NTSTATUS                status;
    PIO_STACK_LOCATION      irpStack;

    // get our device extension
    deviceExtension = GET_DEVICE_EXTENSION(DeviceObject);
    irpStack = IoGetCurrentIrpStackLocation(Irp);
 
    if (sizeof(Report_Struct) <= irpStack->Parameters.DeviceIoControl.OutputBufferLength)
    {
        <obtain report data>      //how to obtain report data

        RtlCopyMemory(
            Irp->UserBuffer,
            Report_Struct,
            sizeof(Report_Struct)
            );

        Irp->IoStatus.Information = sizeof(Report_Struct);
    }
    else
    {
        status = STATUS_BUFFER_TOO_SMALL;
    }
  
    return status;
}


[编辑 -  5/12/04 by  baronwang]

[编辑 -  5/12/04 by  baronwang]

[编辑 -  5/12/04 by  baronwang]
baronwang
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-19 18:25
在(Programming the Microsoft WDM 2e)所真, 要取得Data需用URB
游客

返回顶部