2.2.1.4.5 Device Control Request (DR_CONTROL_REQ)
This header initiates a device control request. This message can have different purposes depending on the device for which it is issued. The device type is determined by the DeviceId field in the DR_DEVICE_IOREQUEST header.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DeviceIoRequest (24 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
OutputBufferLength |
|||||||||||||||||||||||||||||||
InputBufferLength |
|||||||||||||||||||||||||||||||
IoControlCode |
|||||||||||||||||||||||||||||||
Padding (20 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
InputBuffer (variable) |
|||||||||||||||||||||||||||||||
... |
DeviceIoRequest (24 bytes): A DR_DEVICE_IOREQUEST header. The MajorFunction field in this header MUST be set to IRP_MJ_DEVICE_CONTROL.
OutputBufferLength (4 bytes): A 32-bit unsigned integer that specifies the maximum number of bytes expected in the OutputBuffer field of the Device Control Response (section 2.2.1.5.5).
InputBufferLength (4 bytes): A 32-bit unsigned integer that specifies the number of bytes in the InputBuffer field.
IoControlCode (4 bytes): A 32-bit unsigned integer. This field is specific to the redirected device.
Padding (20 bytes): An array of 20 bytes. Reserved. This field can be set to any value and MUST be ignored.
InputBuffer (variable): A variable-size byte array whose size is specified by the InputBufferLength field.