Recently, I use a usb storage device
it install the same binary filter driver for upper and lower of USBSTOR.sys.
Before it read and write data with BULK urb, always two IRP precede the read write IRP/URB pair:
The follwing is dump from IRPTRACE.
Can some one tell me what these two IRP the function?
And also, for the second IRP, because there exist upper and lower filter driver use the same binary, so does they have the same FDO device name?
I figure the seconde IRP is send by the upper filter to the lower filter, does it right for my guess?
First One is
General description
Major function
IRP_MJ_INTERNAL_DEVICE_CONTROL
Minor function
00h
Target Device
#FC9E6708 (UASFILT)
State
Completed
Status
STATUS_SUCCESS
Information
0h
Sent
2011-7-28 16:45:19:99
by
CLASSPNP.SYS!ClassCompleteRequest+3FA (BA108FDD)
process
System(4h)
thread
A34h
at IRQL
APC_LEVEL
Completion routine
CLASSPNP.SYS!ClassCompleteRequest+22E
Control Flags
SL_INVOKE_ON_CANCEL
SL_INVOKE_ON_SUCCESS
SL_INVOKE_ON_ERROR
Completed
2011-7-28 16:45:19:99
by
uasfilt.sys!+9255h (A71A2255)
process
irptrace.exe(CE4h)
thread
DCCh
at IRQL
DISPATCH_LEVEL
priority boost
0h
Input Parameters
IoControlCode
IOCTL_CDROM_SUB_Q_CHANNEL
Value
0h
Device type
0
File Access
FILE_ANY_ACCESS
Function
0h
Method
METHOD_BUFFERED
Buffer
In: 0h Out: 83A2945Ch
Output buffer length
83A2945Ch
Input buffer length
0h
SystemBuffer
0h
THE 2nd is:
General description
Major function
IRP_MJ_INTERNAL_DEVICE_CONTROL
Minor function
00h
Target Device
#FCA4B020 (UASFILT)
State
Completed
Status
STATUS_SUCCESS
Information
0h
Sent
2011-7-28 16:45:19:99
by
uasfilt.sys!+9456h (A71A2456)
process
System(4h)
thread
A34h
at IRQL
DISPATCH_LEVEL
Completion routine
uasfilt.sys!+91E4h
Control Flags
SL_INVOKE_ON_CANCEL
SL_INVOKE_ON_SUCCESS
SL_INVOKE_ON_ERROR
Completed
2011-7-28 16:45:19:99
by
uasfilt.sys!+4ED2h (A719DED2)
process
irptrace.exe(CE4h)
thread
DCCh
at IRQL
DISPATCH_LEVEL
priority boost
0h
Input Parameters
IoControlCode
IOCTL_0x222573
Value
222573h
Device type
FILE_DEVICE_UNKNOWN
File Access
FILE_ANY_ACCESS
Function
95Ch
Method
METHOD_NEITHER
Buffer
In: 0h Out: 83A2945Ch
Output buffer length
83A2945Ch
Input buffer length
0h
Type3InputBuffer
0h
SystemBuffer
0h