WdfUsbInterfaceGetEndpointInformation - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdfusb.h

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

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdfusb-wdfusbinterfacegetendpointinformation)

WdfUsbInterfaceGetEndpointInformation function

Description

[Applies to KMDF and UMDF]

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

Parameters

UsbInterface [in]

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

SettingIndex [in]

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

EndpointIndex [in]

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.)

EndpointInfo [in, out]

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

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.
    //
...
}

See also

WDF_USB_PIPE_INFORMATION

WdfUsbInterfaceGetNumEndpoints

WdfUsbTargetDeviceGetInterface