2.2.7.1 IO Control Completion (IOCONTROL_COMPLETION)
The IOCONTROL_COMPLETION request is sent from the client to the server as the final result of an IO Control request or internal IO Control request.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
RequestId |
|||||||||||||||||||||||||||||||
HResult |
|||||||||||||||||||||||||||||||
Information |
|||||||||||||||||||||||||||||||
OutputBufferSize |
|||||||||||||||||||||||||||||||
OutputBuffer (variable) |
|||||||||||||||||||||||||||||||
... |
Header (variable): The SHARED_MSG_HEADER (as specified in section 2.2.1). The InterfaceId field MUST match the value sent previously in the RequestCompletion field of the REGISTER_REQUEST_CALLBACK message. The Mask field MUST be set to STREAM_ID_PROXY. The FunctionId field MUST be set to IOCONTROL_COMPLETION (0x00000100).
RequestId (4 bytes): A 32-bit unsigned integer. This field MUST match the value sent previously in the RequestId field of the IO_CONTROL message, as specified in section 2.2.6.3.
HResult (4 bytes): A 32-bit unsigned integer that indicates the HRESULT of the operation.
Information (4 bytes): A 32-bit unsigned integer. The number of bytes of data to be transferred by the request.
OutputBufferSize (4 bytes): A 32-bit unsigned integer. The size, in bytes, of the OutputBuffer field. The value of this field MUST not exceed the value of OutputBufferSize field from IO_CONTROL message. If the HResult field indicates success, this field and the Information field MUST be equal. If the HResult field is equal to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) then this field is set to the value of OutputBufferSize from IO_CONTROL message and the Information field MUST indicate the expected size of the OutputBuffer field. For any other case this field MUST be set to 0 and the value of the Information field MUST be ignored.
OutputBuffer (variable): A data buffer that results from processing the request.