2.2.7.2 URB Completion (URB_COMPLETION)
The URB_COMPLETION request is sent from the client to the server as the final result of a TRANSFER_IN_REQUEST that contains output data.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
RequestId |
|||||||||||||||||||||||||||||||
CbTsUrbResult |
|||||||||||||||||||||||||||||||
TsUrbResult (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
HResult |
|||||||||||||||||||||||||||||||
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 URB_COMPLETION (0x00000101).
RequestId (4 bytes): A 32-bit unsigned integer. This field MUST match the value sent previously in the RequestId field of TsUrb structure in the TRANSFER_IN_REQUEST message.
CbTsUrbResult (4 bytes): A 32-bit unsigned integer. The size, in bytes, of the TsUrbResult field.
TsUrbResult (variable): A TS_URB_RESULT structure as defined in 2.2.10.
HResult (4 bytes): A 32-bit unsigned integer that indicates the HRESULT of the operation.
OutputBufferSize (4 bytes): A 32-bit unsigned integer. The size, in bytes, of the OutputBuffer field.
OutputBuffer (variable): A data buffer that results from processing the request.