24#include "FxUsbInterfaceAPI.tmh"
86 "Params size %d, expected %d %!STATUS!",
Params->Size,
98#if (FX_CORE_MODE == FX_CORE_USER_MODE)
107 if (
Params->Types.Descriptor.InterfaceDescriptor ==
NULL) {
111 "InterfaceDescriptor passed in is NULL %!STATUS!",
status);
117 Params->Types.Descriptor.InterfaceDescriptor
125 Params->Types.Interface.SettingIndex
132 (
Params->Types.Urb.Urb->UrbHeader.Length <
137 "URB or URB fields passed in are invalid Urb 0x%p %!STATUS!",
159WDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)(
195WDFEXPORT(WdfUsbInterfaceGetNumEndpoints)(
234WDFEXPORT(WdfUsbInterfaceGetEndpointInformation)(
282 "EndpointInfo Size %d incorrect, expected %d, %!STATUS!",
373WDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)(
407WDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)(
441WDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)(
486 "PipeInfo Size %d incorrect, expected %d, %!STATUS!",
_Must_inspect_result_ NTSTATUS SelectSettingByIndex(__in PWDF_OBJECT_ATTRIBUTES PipesAttributes, __in UCHAR SettingIndex)
VOID GetEndpointInformation(__in UCHAR SettingIndex, __in UCHAR PipeIndex, __in PWDF_USB_PIPE_INFORMATION PipeInfo)
UCHAR GetNumSettings(VOID)
UCHAR GetInterfaceNumber(VOID)
VOID GetDescriptor(__in PUSB_INTERFACE_DESCRIPTOR UsbInterfaceDescriptor, __in UCHAR SettingIndex)
_Must_inspect_result_ NTSTATUS SelectSettingByDescriptor(__in PWDF_OBJECT_ATTRIBUTES PipesAttributes, __in PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor)
WDFUSBPIPE GetConfiguredPipe(__in UCHAR PipeIndex, __out_opt PWDF_USB_PIPE_INFORMATION PipeInfo)
UCHAR GetConfiguredSettingIndex(VOID)
UCHAR GetNumEndpoints(__in UCHAR SettingIndex)
UCHAR GetNumConfiguredPipes(VOID)
_Must_inspect_result_ NTSTATUS SelectSetting(__in PWDF_OBJECT_ATTRIBUTES PipesAttributes, __in PURB Urb)
#define NT_SUCCESS(StatCode)
#define __drv_maxIRQL(irql)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FX_VERIFY_WITH_NAME(DRIVER(BadArgument, TODO), CHECK(ERROR_STRING_HW_ACCESS_NOT_ALLOWED,(pDevice->IsDirectHardwareAccessAllowed()==TRUE)), DriverGlobals->DriverName)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
#define FxPointerNotNull(FxDriverGlobals, Ptr)
_Must_inspect_result_ __in WDFUSBINTERFACE UsbInterface
__in WDFUSBINTERFACE __in UCHAR SettingIndex
FxObjectHandleGetPtr(GetFxDriverGlobals(DriverGlobals), UsbInterface, FX_TYPE_USB_INTERFACE,(PVOID *) &pUsbInterface)
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), UsbInterface, FX_TYPE_USB_INTERFACE,(PVOID *) &pUsbInterface, &pFxDriverGlobals)
_Must_inspect_result_ __in WDFUSBINTERFACE __in_opt PWDF_OBJECT_ATTRIBUTES PipesAttributes
__in WDFUSBINTERFACE __in UCHAR __out PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
__in WDFUSBINTERFACE __in UCHAR __in UCHAR EndpointIndex
_Must_inspect_result_ __in WDFUSBINTERFACE __in_opt PWDF_OBJECT_ATTRIBUTES __in PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
__in WDFUSBINTERFACE __in UCHAR __out_opt PWDF_USB_PIPE_INFORMATION PipeInfo
__in WDFUSBINTERFACE __in UCHAR __in UCHAR __out PWDF_USB_PIPE_INFORMATION EndpointInfo
FxUsbInterface * pUsbInterface
__in WDFUSBINTERFACE __in UCHAR PipeIndex
PFX_DRIVER_GLOBALS pFxDriverGlobals
@ FX_VALIDATE_OPTION_PARENT_NOT_ALLOWED
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
#define _Must_inspect_result_
#define TRACE_LEVEL_ERROR
#define STATUS_INVALID_PARAMETER
#define STATUS_INFO_LENGTH_MISMATCH
#define URB_FUNCTION_SELECT_INTERFACE
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
_In_ WDFUSBINTERFACE UsbInterface
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
_In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR _Out_ PWDF_USB_PIPE_INFORMATION EndpointInfo
@ WdfUsbInterfaceSelectSettingTypeUrb
@ WdfUsbInterfaceSelectSettingTypeDescriptor
@ WdfUsbInterfaceSelectSettingTypeSetting
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR EndpointIndex
_Must_inspect_result_ _In_ WDFUSBINTERFACE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipesAttributes
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex