3.2.5.1.9 Sending a Read Response Message

This message is sent in response to the server read request (3.2.5.1.4).

The client MUST fill out the various members of DR_READ_RSP (as specified in [MS-RDPEFS] section 2.2.1.5.3) as follows:

For the RDPDR_HEADER:

  • The Component field MUST be set to RDPDR_CTYP_CORE.

  • The PacketId field MUST be set to PAKID_CORE_DEVICE_IOCOMPLETION.

For the DR_DEVICE_IOCOMPLETION:

  • The DeviceId field MUST be set to match the corresponding DeviceId field from the IO request.

  • The CompletionId field MUST be set to match the CompletionId from the corresponding IO request (section 3.2.5.1.4).

  • The IoStatus field MUST be set to the NTSTATUS value indicating the result of the operation.

The client prepares a reply message with the result of the read operation. The client populates the Length field with the number of bytes read. The actual data read follows the Length field. The Length field MAY be less than the requested length; however, the Length field MUST NOT be greater than requested length. These partial read requests are supported by the server.