2.2.6.4 Internal IO Control Message (INTERNAL_IO_CONTROL)
The INTERNAL_IO_CONTROL message is sent from the server to the client in order to submit an internal IO control request to the USB device.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
IoControlCode |
|||||||||||||||||||||||||||||||
InputBufferSize |
|||||||||||||||||||||||||||||||
InputBuffer (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
OutputBufferSize |
|||||||||||||||||||||||||||||||
RequestId |
Header (variable): The SHARED_MSG_HEADER (as specified in section 2.2.1). The InterfaceId field MUST match the value sent previously in the UsbDevice field of the ADD_DEVICE message. The Mask field MUST be set to STREAM_ID_PROXY. The FunctionId field MUST be set to INTERNAL_IO_CONTROL (0x00000103).
IoControlCode (4 bytes): A 32-bit unsigned integer. An internal IO control code as specified in section 2.2.13.
InputBufferSize (4 bytes): A 32-bit unsigned integer. The size, in bytes, of the InputBuffer field.
InputBuffer (variable): A byte array. This value represents the input buffer for the internal IO control request.
OutputBufferSize (4 bytes): A 32-bit unsigned integer. The maximum number of bytes the internal IO control request can return.
RequestId (4 bytes): A 32-bit unsigned integer. This value represents an ID that uniquely identifies this internal IO control request.