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