2.2.1.5 Device I/O Response (DR_DEVICE_IOCOMPLETION)
A message with this header indicates that the I/O request is complete. In a Device I/O Response message, a request message is matched to the Device I/O Request (section 2.2.1.4) header based on the CompletionId field value. There is only one response per request.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header |
|||||||||||||||||||||||||||||||
DeviceId |
|||||||||||||||||||||||||||||||
CompletionId |
|||||||||||||||||||||||||||||||
IoStatus |
Header (4 bytes): An RDPDR_HEADER header. The Component field MUST be set to RDPDR_CTYP_CORE, and the PacketId field MUST be set to PAKID_CORE_DEVICE_IOCOMPLETION.
DeviceId (4 bytes): A 32-bit unsigned integer. This field MUST match the DeviceId field in the DR_DEVICE_IOREQUEST header for the corresponding request.
CompletionId (4 bytes): A 32-bit unsigned integer. This field MUST match the CompletionId field in the DR_DEVICE_IOREQUEST header for the corresponding request. After processing a response packet with this ID, the same ID MUST be reused in another request.
IoStatus (4 bytes): A 32-bit unsigned integer that specifies the NTSTATUS code that indicates success or failure for the request. NTSTATUS codes are specified in [MS-ERREF] section 2.3.