阅读:2100回复:0
请教USBStorage驱动
写了一个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 |
|