24#include "FxUsbInterfaceUm.tmh"
37 "Composite device detected: Converting absolute interface "
39 FrameworkInterfaceIndex);
42 if (FrameworkInterfaceIndex == 0) {
76 "Failed to retrieve WinUsb interface handle");
101 if (ppPipes ==
NULL) {
105 "Unable to allocate memory %!STATUS!",
status);
111 for (iPipe = 0; iPipe < NumPipes; iPipe++) {
115 if (ppPipes[iPipe] ==
NULL) {
119 "Unable to allocate memory for the pipes %!STATUS!",
status);
123 pPipe = ppPipes[iPipe];
129 "Init pipe failed %!STATUS!",
status);
137 "Commit pipe failed %!STATUS!",
status);
167 "Send UMURB_FUNCTION_QUERY_PIPE failed %!STATUS!",
status);
178 if (ppPipes !=
NULL) {
181 for (iPipe = 0; iPipe < NumPipes; iPipe++) {
182 if (ppPipes[iPipe] !=
NULL) {
208 for (iPipe = 0; iPipe < numberOfPipes; iPipe++) {
216 "UpdatePipeAttributes failed %!STATUS!",
status);
_Must_inspect_result_ NTSTATUS Init(__in CfxDeviceBase *Device)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
VOID DeleteFromFailedCreate(VOID)
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
WINUSB_INTERFACE_HANDLE m_WinUsbHandle
VOID CleanupInterfacePipesAndDelete(__in FxUsbInterface *UsbInterface)
_Must_inspect_result_ NTSTATUS SendSyncUmUrb(__inout PUMURB Urb, __in ULONGLONG Time, __in_opt WDFREQUEST Request=NULL, __in_opt PWDF_REQUEST_SEND_OPTIONS Options=NULL)
FxUsbPipe ** m_ConfiguredPipes
UCHAR m_CurAlternateSetting
VOID SetConfiguredPipes(__in FxUsbPipe **ppPipes)
WINUSB_INTERFACE_HANDLE m_WinUsbHandle
BOOLEAN IsInterfaceConfigured(VOID)
NTSTATUS SetWinUsbHandle(_In_ UCHAR FrameworkInterfaceIndex)
UCHAR m_NumberOfConfiguredPipes
FxUsbDevice * m_UsbDevice
VOID SetNumConfiguredPipes(__in UCHAR NumberOfPipes)
NTSTATUS UpdatePipeAttributes(__in PWDF_OBJECT_ATTRIBUTES PipesAttributes)
NTSTATUS MakeAndConfigurePipes(__in PWDF_OBJECT_ATTRIBUTES PipesAttributes, __in UCHAR NumPipes)
VOID InitPipe(__in PUSBD_PIPE_INFORMATION PipeInfo, __in UCHAR InterfaceNumber, __in FxUsbInterface *UsbInterface)
#define NT_SUCCESS(StatCode)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ NTSTATUS FxObjectAllocateContext(__in FxObject *Object, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in BOOLEAN AllowCallbacksOnly, __deref_opt_out PVOID *Context)
void FxPoolFree(__in_xcount(ptr is at an offset from AllocationStart) PVOID ptr)
#define STATUS_OBJECT_NAME_EXISTS
#define TRACE_LEVEL_ERROR
#define TRACE_LEVEL_INFORMATION
struct _UMURB_GET_ASSOCIATED_INTERFACE UmUrbGetAssociatedInterface
struct _UMURB_QUERY_PIPE UmUrbQueryPipe
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
#define UMURB_FUNCTION_GET_ASSOCIATED_INTERFACE
#define UMURB_FUNCTION_QUERY_PIPE
_Must_inspect_result_ _In_ WDFUSBINTERFACE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipesAttributes