virtual usb mass storage Device and strange SRB FUNCTION

Hi All,

I am writing a driver to create a virtual usb mass storage Device based on toaster.My root enumerated Bus creates a child PDO with type FILE_DEVICE_MASS_STORAGE and Reports it to PNP successfully.

Soon after that i am getting SRBs But strange enough i get an SRB with Function 0x0b thrice which do not seem to be documented in DDK.

snip from srb.h

//
// SRB Functions
//

#define SRB_FUNCTION_EXECUTE_SCSI 0x00
#define SRB_FUNCTION_CLAIM_DEVICE 0x01
#define SRB_FUNCTION_IO_CONTROL 0x02
#define SRB_FUNCTION_RECEIVE_EVENT 0x03
#define SRB_FUNCTION_RELEASE_QUEUE 0x04
#define SRB_FUNCTION_ATTACH_DEVICE 0x05
#define SRB_FUNCTION_RELEASE_DEVICE 0x06
#define SRB_FUNCTION_SHUTDOWN 0x07
#define SRB_FUNCTION_FLUSH 0x08
#define SRB_FUNCTION_ABORT_COMMAND 0x10
#define SRB_FUNCTION_RELEASE_RECOVERY 0x11
#define SRB_FUNCTION_RESET_BUS 0x12
#define SRB_FUNCTION_RESET_DEVICE 0x13
#define SRB_FUNCTION_TERMINATE_IO 0x14
#define SRB_FUNCTION_FLUSH_QUEUE 0x15
#define SRB_FUNCTION_REMOVE_DEVICE 0x16
#define SRB_FUNCTION_WMI 0x17
#define SRB_FUNCTION_LOCK_QUEUE 0x18
#define SRB_FUNCTION_UNLOCK_QUEUE 0x19

There is no 0x0b.

There is no pointer to what could be SRB_FUNCTION_XXX 0x0b.The SRB looks like this -

Length 0x50
Function 0xb
SrbStatus 0x0
ScsiStatus 0x2
PathId 0x0
TargetId 0x0
Lun 0x0
QueueTag 0x0
QueueAction 0x0
SenseInfoBufferLength 0x0
SrbFlags 0x0
DataTransferLength 0x18
TimeOutValue 0x2e
DataBuffer 0x12
SenseInfoBuffer 0x81383dd8
NextSrb 0x0
OriginalRequest 0x0
InternalStatus 0x640072
Cdb 0x816e7390

If i fail these 3 SRB one by one,I immediately get REMOVE_DEVICE irp and The Device Manager shows that my device can not be started.Can anybody tell me what exactly it is and how to handle it? I am testing it on windows server 2003.

Any help or pointers are appreciated.

-Subodh Gupta