darkhawk
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2007-01-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2101回复:0

请教USBStorage驱动

楼主#
更多 发布于:2004-03-01 20:41
写了一个Usb Storage的Win2K driver,现在可以成功创建child PDO(设备类型是FILE_DEVICE_DISK),并且挂起disk.sys.
但是在处理完PDO的IRP_MN_START_DEVICE,系统又连续发了2次IRP_MJ_DEVICE_CONTROL请求,第一次是IOCTL_STORAGE_GET_DEVICE_NUMBER,第二次的ControlCode是4D0008,这是什么请求?哪位大大成功开发过类似的驱动,能不能简要说一下要处理哪些IRP?
以下附上调试码:
USBSTORAGE: Enter UsbStorage DriverEntry!
USBSTORAGE: Leave UsbStorage DriverEntry!
USBSTORAGE: Enter AddDevice Dispatch!
USBSTORAGE: Leave AddDevice Dispatch!
USBSTORAGE: Enter FDO Start Device
USBSTORAGE: Leave FDO Start Device
USBSTORAGE: Enter FDO Query Device Relations
USBSTORAGE: QueryDeviceRelationsType is BusRelations
USBSTORAGE: Create PDO 0
USBSTORAGE: Leave FDO Query Device Relations
USBSTORAGE: Enter PDO Query ID
USBSTORAGE: Query ID Type is BusQueryDeviceID
USBSTORAGE: Leave PDO Query ID
USBSTORAGE: Enter PDO Query Capabilities
USBSTORAGE: Leave PDO Query Capabilities
USBSTORAGE: Enter PDO Query Device Text
USBSTORAGE: type is DeviceTextDescription
USBSTORAGE: DeviceTextDescription :Flash Memory Card
USBSTORAGE: Leave PDO Query Device Text
USBSTORAGE: Enter PDO Query Device Text
USBSTORAGE: type is DeviceTextLocationInformation
USBSTORAGE: Leave PDO Query Device Text
USBSTORAGE: Enter PDO Query ID
USBSTORAGE: Query ID Type is BusQueryInstanceID
USBSTORAGE: Leave PDO Query ID
USBSTORAGE: Enter PDO Query ID
USBSTORAGE: Query ID Type is BusQueryHardwareIDs
USBSTORAGE: Leave PDO Query ID
USBSTORAGE: Enter PDO Query ID
USBSTORAGE: Query ID Type is BusQueryCompatibleIDs
USBSTORAGE: Leave PDO Query ID
USBSTORAGE: Enter SCSI Dispatch!
USBSTORAGE: SCSI Command is SRB_FUNCTION_CLAIM_DEVICE
USBSTORAGE: Leave SCSI Dispatch!
*** IopQueryLegacyBusInformation - Driver disk returned STATUS_SUCCESS
    for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.
USBSTORAGE: Enter PDO Start Device
USBSTORAGE: Leave PDO Start Device
USBSTORAGE: Enter DeviceControl Dispatch!
USBSTORAGE: Control Code is IOCTL_STORAGE_GET_DEVICE_NUMBER
USBSTORAGE: Leave DeviceControl Dispatch!
USBSTORAGE: Enter DeviceControl Dispatch!
USBSTORAGE: Control Code is 5046280
USBSTORAGE: Leave DeviceControl Dispatch!
USBSTORAGE: Enter PDO Query Capabilities
USBSTORAGE: Leave PDO Query Capabilities
USBSTORAGE: Enter PDO Query Device Relations
USBSTORAGE: Leave PDO Query Device Relations
USBSTORAGE: Enter FDO Query Device Relations
USBSTORAGE: QueryDeviceRelationsType is BusRelations
USBSTORAGE: Leave FDO Query Device Relations
USBSTORAGE: Enter PDO Query Device Relations
USBSTORAGE: Leave PDO Query Device Relations
USBSTORAGE: Enter PDO Query Device Relations
USBSTORAGE: Leave PDO Query Device Relations
USBSTORAGE: Enter DeviceControl Dispatch!
USBSTORAGE: Control Code is IOCTL_STORAGE_GET_DEVICE_NUMBER
USBSTORAGE: Leave DeviceControl Dispatch!
USBSTORAGE: Enter PDO Remove Device
USBSTORAGE: Leave PDO Remove Device
游客

返回顶部