2.2.1.4.5 Device Control Request (DR_CONTROL_REQ)

This header initiates a device control request. This message has different interpretations depending on the device for which it is issued. The device type is determined by the DeviceId field in the DR_DEVICE_IOREQUEST 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

DeviceIoRequest

...

...

...

...

...

OutputBufferLength

InputBufferLength

IoControlCode

Padding

...

...

...

...

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 MAY be set to any value, and MUST be ignored on receipt.

InputBuffer (variable): A variable-size byte array whose size is specified by the InputBufferLength field.

Page view tracker