USBD_ENDPOINT_OFFLOAD_INFORMATION structure (usb.h)

Stores xHCI-specific V2 information that is used by client drivers to transfer data to and from the offloaded endpoints.

Syntax

typedef struct _USBD_ENDPOINT_OFFLOAD_INFORMATION {
  ULONG                      Size;
  USHORT                     EndpointAddress;
  ULONG                      ResourceId;
  USBD_ENDPOINT_OFFLOAD_MODE Mode;
  ULONG                      RootHubPortNumber : 8;
  ULONG                      RouteString : 20;
  ULONG                      Speed : 4;
  ULONG                      UsbDeviceAddress : 8;
  ULONG                      SlotId : 8;
  ULONG                      MultiTT : 1;
  ULONG                      LSOrFSDeviceConnectedToTTHub : 1;
  ULONG                      Reserved0 : 14;
  PHYSICAL_ADDRESS           TransferSegmentLA;
  PVOID                      TransferSegmentVA;
  size_t                     TransferRingSize;
  ULONG                      TransferRingInitialCycleBit;
  ULONG                      MessageNumber;
  PHYSICAL_ADDRESS           EventRingSegmentLA;
  PVOID                      EventRingSegmentVA;
  size_t                     EventRingSize;
  ULONG                      EventRingInitialCycleBit;
  PHYSICAL_ADDRESS           ClientTransferRingSegmentPAIn;
  size_t                     ClientTransferRingSizeIn;
  PHYSICAL_ADDRESS           ClientDataBufferPAIn;
  size_t                     ClientDataBufferSizeIn;
  PHYSICAL_ADDRESS           ClientDataBufferLAOut;
  PVOID                      ClientDataBufferVAOut;
} USBD_ENDPOINT_OFFLOAD_INFORMATION, *PUSBD_ENDPOINT_OFFLOAD_INFORMATION, USBD_ENDPOINT_OFFLOAD_INFORMATION_V2, *PUSBD_ENDPOINT_OFFLOAD_INFORMATION_V2;

Members

Size

The size of this structure.

EndpointAddress

Specifies the USB-defined endpoint address.

ResourceId

The resource identifier.

Mode

A USBD_ENDPOINT_OFFLOAD_MODE value that indicates whether endpoint offloading is handled in software or the USB device or host controller.

RootHubPortNumber

The port number of the root hub to which the device is connected.

RouteString

The route string describing the path from the root hub to the device.

Speed

The speed of the USB device.

UsbDeviceAddress

The USB address of the device.

SlotId

The slot ID of the device.

MultiTT

Indicates if the device is connected to a hub with transaction translators.

LSOrFSDeviceConnectedToTTHub

Indicates if the device is a low-speed or full-speed device connected to a hub with transaction translators.

Reserved0

Reserved.

TransferSegmentLA

The physical address of the transfer ring segment.

TransferSegmentVA

The virtual address of the transfer ring segment.

TransferRingSize

The size of the transfer ring.

TransferRingInitialCycleBit

The initial cycle bit of the transfer ring.

MessageNumber

The message number for the secondary event ring.

EventRingSegmentLA

The physical address of the event ring segment.

EventRingSegmentVA

The virtual address of the event ring segment.

EventRingSize

The size of the event ring, in bytes.

EventRingInitialCycleBit

The initial cycle bit of the event ring.

ClientTransferRingSegmentPAIn

The physical address of the client-provided transfer ring segment.

ClientTransferRingSizeIn

The size of the client-provided transfer ring segment.

ClientDataBufferPAIn

The physical address of the client-provided data buffer.

ClientDataBufferSizeIn

The size of the client-provided data buffer.

ClientDataBufferLAOut

The physical address of the mapped data buffer.

ClientDataBufferVAOut

The virtual address of the mapped data buffer.

remarks

This structure duplicates and extends USBD_ENDPOINT_OFFLOAD_INFORMATION_V1.

This structure supports two versions, indicated by USBD_ENDPOINT_OFFLOAD_INFORMATION and USBD_ENDPOINT_OFFLOAD_INFORMATION_V2, with the latter possibly including additional fields beyond what is documented here. The structure facilitates detailed configuration and management of USB endpoint offload.

see-also

Requirements

Requirement Value
Minimum supported client Windows 10, version 1709
Minimum supported server Windows Server 2016
Header usb.h