Export (0) Print
Expand All

2.2.10.5 TS_URB_ISOCH_TRANSFER_RESULT

This packet represents the result of TRANSFER_IN_REQUEST or TRANSFER_OUT_REQUEST with TS_URB_ISOCH_TRANSFER. The TS_URB_ISOCH_TRANSFER_RESULT structure is sent via the URB_COMPLETION message if the result contains the data buffer to be sent back; otherwise, the TS_URB_ISOCH_TRANSFER_RESULT is sent via the URB_COMPLETION_NO_DATA message.


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

TS_URB_RESULT_HEADER

...

StartFrame

NumberOfPackets

ErrorCount

IsoPacket (variable)

...

TS_URB_RESULT_HEADER (8 bytes): A TS_URB_RESULT_HEADER as specified in section 2.2.10.1.1.

StartFrame (4 bytes): A 32-bit unsigned integer. The resulting StartFrame value as specified in URB_ISOCH_TRANSFER.

NumberOfPackets (4 bytes): A 32-bit unsigned integer. This value is the number of URB_ISOCH_TRANSFER following the IsoPacket field.

ErrorCount (4 bytes): A 32-bit unsigned integer. The resulting ErrorCount value as described in URB_ISOCH_TRANSFER.

IsoPacket (variable): The resulting array of USBD_ISO_PACKET_DESCRIPTOR structures as described in URB_ISOCH_TRANSFER.

For the TRANSFER_IN_REQUEST operation, the IsoPacket field describes the data validity in the stream of data that the physical device has generated. Each IsoPacket field describes a different part of the data stream. If the IsoPacket field indicates an error, the part of the data stream it describes does not contain valid data and the client SHOULD NOT send it to the server. When a client constructs the OutputDataBuffer field for a URB_COMPLETION message that contains TS_URB_ISOCH_TRANSFER_RESULT structure, the client MUST copy the data from the data stream into the OutputDataBuffer field if and only if the corresponding IsoPacket indicates no error.

 
Show:
© 2014 Microsoft