2.2.2.1.1 Server Message Header (SERVER_IO_HEADER)

All I/O Request messages (messages sent from the server to the client) use the following Request header.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

RequestId

UnusedBits

FunctionId

RequestId (3 bytes): A 24-bit unsigned integer. This server-generated value uniquely identifies the request. This value MUST be used to refer to the request in subsequent messages. A request ID MAY be reused after the reply message with that ID is received.

UnusedBits (1 byte): An 8-bit padding field. Values in this field MUST be ignored.

FunctionId (4 bytes): A 32-bit unsigned integer. This value identifies the function associated with the request. This value MUST be one of the following values. If the value does not match one of these values, the client MUST terminate the dynamic virtual channel for the PNP Device I/O Subprotocol.

Name

Value

READ_REQUEST

0x00000000

WRITE_REQUEST

0x00000001

IOCONTROL_REQUEST

0x00000002

CREATE_FILE_REQUEST

0x00000004

CAPABILITIES_REQUEST

0x00000005

SPECIFIC_IOCANCEL_REQUEST

0x00000006