WdfUsbInterfaceGetEndpointInformation function (wdfusb.h)

[Applies to KMDF and UMDF]

The WdfUsbInterfaceGetEndpointInformation method retrieves information about a specified USB device endpoint and its associated pipe.

Syntax

void WdfUsbInterfaceGetEndpointInformation(
  [in]      WDFUSBINTERFACE           UsbInterface,
  [in]      UCHAR                     SettingIndex,
  [in]      UCHAR                     EndpointIndex,
  [in, out] PWDF_USB_PIPE_INFORMATION EndpointInfo
);

Parameters

[in] UsbInterface

A handle to a USB interface object that was obtained by calling WdfUsbTargetDeviceGetInterface.

[in] SettingIndex

An index value that identifies an alternate setting for the interface. For more information about alternate settings, see the USB specification.

[in] EndpointIndex

An index value that identifies an endpoint that is associated with the specified alternate setting of the specified interface. (This index value is not the endpoint address.)

[in, out] EndpointInfo

A pointer to a caller-allocated WDF_USB_PIPE_INFORMATION structure that the framework fills in.

Return value

None

Remarks

A bug check occurs if the driver supplies an invalid object handle.

For more information about the WdfUsbInterfaceGetEndpointInformation method and USB I/O targets, see USB I/O Targets.

Examples

The following code example obtains the number of endpoints that a USB interface supports and then calls WdfUsbInterfaceGetEndpointInformation for each endpoint.

WDF_USB_PIPE_INFORMATION endPointInfo;
BYTE settingIndex, i;

settingIndex = 0;
numEndpoints = WdfUsbInterfaceGetNumEndpoints(
                                          UsbInterface,
                                          settingIndex
                                          );

for (i = 0; i < numEndpoints; i++){
    WDF_USB_PIPE_INFORMATION_INIT(&endPointInfo);
    WdfUsbInterfaceGetEndpointInformation(
                                          UsbInterface,
                                          settingIndex,
                                          i,
                                          &endPointInfo
                                          );

    //
    // Examine endpoint information here.
    //
...
}

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfusb.h (include Wdfusb.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI compliance rules DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf)

See also

WDF_USB_PIPE_INFORMATION

WdfUsbInterfaceGetNumEndpoints

WdfUsbTargetDeviceGetInterface