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.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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