ReactOS 0.4.16-dev-338-g34e76ad
|
#include <fxusbdevice.hpp>
Public Attributes | |
friend | FxUsbPipe |
friend | FxUsbInterface |
Public Attributes inherited from FxIoTarget | |
FxTransactionedEntry | m_TransactionedEntry |
BOOLEAN | m_InStack |
BOOLEAN | m_AddedToDeviceList |
Static Protected Member Functions | |
static VOID | _CleanupPipesRequests (__in PLIST_ENTRY PendHead, __in PSINGLE_LIST_ENTRY SentHead) |
Static Protected Member Functions inherited from FxIoTarget | |
static VOID | _CancelSentRequests (__in PSINGLE_LIST_ENTRY RequestListHead) |
static VOID | _RequestCancelled (__in FxIrpQueue *Queue, __in MdIrp Irp, __in PMdIoCsqIrpContext pCsqContext, __in KIRQL CallerIrql) |
Static Protected Member Functions inherited from FxObject | |
static PVOID | _GetBase (__in FxObject *Object) |
Private Attributes | |
IWudfFile * | m_pHostTargetFile |
WINUSB_INTERFACE_HANDLE | m_WinUsbHandle |
Definition at line 183 of file fxusbdevice.hpp.
FxUsbDevice::FxUsbDevice | ( | __in PFX_DRIVER_GLOBALS | FxDriverGlobals | ) |
Definition at line 371 of file fxusbdevice.cpp.
|
protected |
Definition at line 435 of file fxusbdevice.cpp.
|
inlineprotected |
Definition at line 557 of file fxusbdevice.hpp.
|
staticprotected |
Definition at line 792 of file fxusbdevice.cpp.
Referenced by CleanupInterfacePipesAndDelete(), and PipesGotoRemoveState().
|
inlineprotected |
Definition at line 566 of file fxusbdevice.hpp.
Definition at line 2095 of file fxusbdevice.cpp.
Referenced by CyclePort(), and Reset().
|
protected |
Definition at line 2052 of file fxusbdevice.cpp.
Referenced by FxUsbInterface::MakeAndConfigurePipes(), SelectConfig(), and FxUsbInterface::SelectSetting().
|
inline |
Definition at line 218 of file fxusbdevice.hpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::CreateInterfaces | ( | VOID | ) |
Definition at line 898 of file fxusbdevice.cpp.
__checkReturn NTSTATUS FxUsbDevice::CreateIsochUrb | ( | __in_opt PWDF_OBJECT_ATTRIBUTES | Attributes, |
__in ULONG | NumberOfIsochPackets, | ||
__out WDFMEMORY * | UrbMemory, | ||
__deref_opt_out_bcount(GET_ISOCH_URB_SIZE(NumberOfIsochPackets)) PURB * | Urb | ||
) |
Definition at line 2237 of file fxusbdevice.cpp.
__checkReturn NTSTATUS FxUsbDevice::CreateUrb | ( | __in_opt PWDF_OBJECT_ATTRIBUTES | Attributes, |
__out WDFMEMORY * | UrbMemory, | ||
__deref_opt_out_bcount(sizeof(URB)) PURB * | Urb | ||
) |
Definition at line 2122 of file fxusbdevice.cpp.
Referenced by __deref_opt_out_bcount().
_Must_inspect_result_ NTSTATUS FxUsbDevice::CyclePort | ( | VOID | ) |
Definition at line 1227 of file fxusbdevice.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::Deconfig | ( | VOID | ) |
Definition at line 1877 of file fxusbdevice.cpp.
Reimplemented from FxIoTarget.
Definition at line 406 of file fxusbdevice.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::FormatControlRequest | ( | __in FxRequestBase * | Request, |
__in PWDF_USB_CONTROL_SETUP_PACKET | Packet, | ||
__in FxRequestBuffer * | RequestBuffer | ||
) |
Definition at line 588 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::FormatCycleRequest | ( | __in FxRequestBase * | Request | ) |
Definition at line 1261 of file fxusbdevice.cpp.
Referenced by CyclePort().
|
protected |
_Must_inspect_result_ NTSTATUS FxUsbDevice::FormatStringRequest | ( | __in FxRequestBase * | Request, |
__in FxRequestBuffer * | RequestBuffer, | ||
__in UCHAR | StringIndex, | ||
__in USHORT | LangID | ||
) |
Definition at line 496 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::GetConfigDescriptor | ( | __out PVOID | ConfigDescriptor, |
__inout PUSHORT | ConfigDescriptorLength | ||
) |
Definition at line 1276 of file fxusbdevice.cpp.
|
inline |
Definition at line 234 of file fxusbdevice.hpp.
|
inline |
Definition at line 369 of file fxusbdevice.hpp.
|
inline |
Definition at line 244 of file fxusbdevice.hpp.
Definition at line 494 of file fxusbdevice.cpp.
Referenced by FxUsbInterface::FormatSelectSettingUrb(), SelectConfigDescriptor(), SelectConfigInterfaces(), SelectConfigMulti(), and SelectConfigSingle().
FX_URB_TYPE FxUsbDevice::GetFxUrbTypeForRequest | ( | __in FxRequestBase * | Request | ) |
Definition at line 2434 of file fxusbdevice.cpp.
Referenced by FxUsbPipe::FormatAbortRequest(), FormatControlRequest(), FxUsbPipe::FormatResetRequest(), FormatStringRequest(), and FxUsbPipe::FormatTransferRequest().
VOID FxUsbDevice::GetInformation | ( | __out PWDF_USB_DEVICE_INFORMATION | Information | ) |
Definition at line 481 of file fxusbdevice.cpp.
FxUsbInterface * FxUsbDevice::GetInterfaceFromIndex | ( | __in UCHAR | InterfaceIndex | ) |
Definition at line 2005 of file fxusbdevice.cpp.
|
protected |
Definition at line 2036 of file fxusbdevice.cpp.
Referenced by SelectConfig().
|
protected |
Definition at line 2018 of file fxusbdevice.cpp.
Referenced by SelectConfigMulti().
WDFUSBPIPE FxUsbDevice::GetInterfacePipeReferenced | ( | __in UCHAR | InterfaceNumber, |
__in UCHAR | EndpointNumber | ||
) |
Definition at line 301 of file fxusbdevice.hpp.
|
protected |
Definition at line 1131 of file fxusbdevice.cpp.
Referenced by IsConnected(), and IsEnabled().
_Must_inspect_result_ NTSTATUS FxUsbDevice::GetString | ( | __in_ecount *NumCharacters PUSHORT | String, |
__in PUSHORT | NumCharacters, | ||
__in UCHAR | StringIndex, | ||
__in_opt USHORT | LangID, | ||
__in_opt WDFREQUEST | Request = NULL , |
||
__in_opt PWDF_REQUEST_SEND_OPTIONS | Options = NULL |
||
) |
Definition at line 365 of file fxusbdevicekm.cpp.
|
inline |
Definition at line 478 of file fxusbdevice.hpp.
Referenced by __in_xcount().
|
inline |
Definition at line 470 of file fxusbdevice.hpp.
Referenced by __deref_opt_out_bcount(), __in_xcount(), and QueryUsbCapability().
Definition at line 409 of file fxusbdevice.hpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::InitDevice | ( | __in ULONG | USBDClientContractVersionForWdfClient | ) |
Definition at line 43 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::IsConnected | ( | VOID | ) |
Definition at line 1202 of file fxusbdevice.cpp.
Definition at line 1175 of file fxusbdevice.cpp.
Definition at line 2356 of file fxusbdevice.cpp.
Referenced by CreateIsochUrb(), CreateUrb(), and GetFxUrbTypeForRequest().
Definition at line 361 of file fxusbdevice.hpp.
Definition at line 813 of file fxusbdevice.cpp.
Referenced by Deconfig().
|
protectedvirtual |
Reimplemented from FxIoTarget.
Definition at line 694 of file fxusbdevice.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::QueryUsbCapability | ( | __in CONST GUID * | CapabilityType, |
__in ULONG | CapabilityBufferLength, | ||
__drv_when(CapabilityBufferLength==0, __out_opt) __drv_when(CapabilityBufferLength !=0 &&ResultLength==NULL, __out_bcount(CapabilityBufferLength)) __drv_when(CapabilityBufferLength !=0 &&ResultLength !=NULL, __out_bcount_part_opt(CapabilityBufferLength, *ResultLength)) PVOID | CapabilityBuffer, | ||
__out_opt __drv_when(ResultLength !=NULL, __deref_out_range(<=, CapabilityBufferLength)) PULONG | ResultLength | ||
) |
Definition at line 755 of file fxusbdevicekm.cpp.
|
protected |
Definition at line 462 of file fxusbdevice.cpp.
Referenced by FxUsbInterface::~FxUsbInterface().
_Must_inspect_result_ NTSTATUS FxUsbDevice::Reset | ( | VOID | ) |
Definition at line 1075 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfig | ( | __in PWDF_OBJECT_ATTRIBUTES | PipesAttributes, |
__in PURB | Urb, | ||
__in FX_URB_TYPE | FxUrbType, | ||
__out_opt PUCHAR | NumConfiguredInterfaces | ||
) |
Definition at line 1424 of file fxusbdevice.cpp.
Referenced by SelectConfigDescriptor(), SelectConfigInterfaces(), SelectConfigMulti(), and SelectConfigSingle().
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfigAuto | ( | __in PWDF_OBJECT_ATTRIBUTES | PipeAttributes | ) |
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfigDescriptor | ( | __in PWDF_OBJECT_ATTRIBUTES | PipeAttributes, |
__in PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS | Params | ||
) |
Definition at line 1317 of file fxusbdevice.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfigInterfaces | ( | __in PWDF_OBJECT_ATTRIBUTES | PipesAttributes, |
__in PUSB_CONFIGURATION_DESCRIPTOR | ConfigurationDescriptor, | ||
__in_ecount(NumInterfaces) PUSB_INTERFACE_DESCRIPTOR * | InterfaceDescriptors, | ||
__in ULONG | NumInterfaces | ||
) |
Definition at line 1924 of file fxusbdevice.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfigMulti | ( | __in PWDF_OBJECT_ATTRIBUTES | PipeAttributes, |
__in PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS | Params | ||
) |
Definition at line 898 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectConfigSingle | ( | __in PWDF_OBJECT_ATTRIBUTES | PipeAttributes, |
__in PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS | Params | ||
) |
Definition at line 806 of file fxusbdevicekm.cpp.
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectInterface | ( | __in PWDF_OBJECT_ATTRIBUTES | PipesAttributes, |
__in PURB | Urb | ||
) |
_Must_inspect_result_ NTSTATUS FxUsbDevice::SelectInterfaceByInterface | ( | __in PWDF_OBJECT_ATTRIBUTES | PipesAttributes, |
__in PUSB_INTERFACE_DESCRIPTOR | InterfaceDescriptor | ||
) |
|
protected |
Definition at line 31 of file fxusbdeviceum.cpp.
|
protected |
Definition at line 55 of file fxusbdeviceum.cpp.
Referenced by FxUsbInterface::MakeAndConfigurePipes(), FxUsbInterface::SelectSettingByIndex(), and FxUsbInterface::SetWinUsbHandle().
|
protectedvirtual |
Reimplemented from FxIoTarget.
Definition at line 530 of file fxusbdevice.cpp.
|
protectedvirtual |
Reimplemented from FxIoTarget.
Definition at line 601 of file fxusbdevice.cpp.
friend FxUsbDevice::FxUsbInterface |
Definition at line 186 of file fxusbdevice.hpp.
Referenced by CreateInterfaces().
friend FxUsbDevice::FxUsbPipe |
Definition at line 185 of file fxusbdevice.hpp.
Referenced by SelectConfig().
|
protected |
Definition at line 635 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetCurrentFrameNumber(), InitDevice(), and ~FxUsbDevice().
|
protected |
Definition at line 637 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), InitDevice(), and ~FxUsbDevice().
|
protected |
Definition at line 629 of file fxusbdevice.hpp.
Referenced by CreateInterfaces(), FxUsbInterface::CreateSettings(), FxUsbDevice(), GetConfigDescriptor(), FxUsbInterface::GetEndpointInformation(), InitDevice(), SelectConfigDescriptor(), SelectConfigInterfaces(), SelectConfigMulti(), SelectConfigSingle(), and ~FxUsbDevice().
|
protected |
Definition at line 625 of file fxusbdevice.hpp.
Referenced by FxUsbInterface::FormatSelectSettingUrb(), FxUsbDevice(), GetConfigHandle(), and SelectConfig().
|
protected |
Definition at line 621 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetControlPipeHandle(), and InitDevice().
|
protected |
Definition at line 627 of file fxusbdevice.hpp.
Referenced by CopyDeviceDescriptor(), FxUsbDevice(), and InitDevice().
|
protected |
Definition at line 641 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetInformation(), and InitDevice().
|
protected |
Definition at line 639 of file fxusbdevice.hpp.
Referenced by _Acquires_lock_(), and _Releases_lock_().
|
protected |
Definition at line 623 of file fxusbdevice.hpp.
Referenced by CancelSentIo(), CreateInterfaces(), FxUsbDevice(), GetInterfaceFromIndex(), GetInterfaceFromNumber(), PipesGotoRemoveState(), Purge(), RemoveDeletedInterface(), SelectConfigMulti(), SelectConfigSingle(), Start(), Stop(), and ~FxUsbDevice().
|
protected |
Definition at line 649 of file fxusbdevice.hpp.
Referenced by CreateInterfaces(), FxUsbDevice(), and HasMismatchedInterfacesInConfigDescriptor().
|
protected |
Definition at line 647 of file fxusbdevice.hpp.
Referenced by CancelSentIo(), CreateInterfaces(), FxUsbDevice(), GetInterfaceFromIndex(), GetInterfaceFromNumber(), GetNumInterfaces(), PipesGotoRemoveState(), Purge(), RemoveDeletedInterface(), SelectConfig(), SelectConfigMulti(), SelectConfigSingle(), Start(), Stop(), and ~FxUsbDevice().
|
protected |
Definition at line 645 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), InitDevice(), and OnUSBD().
|
private |
Definition at line 658 of file fxusbdevice.hpp.
Referenced by Dispose(), FxUsbPipe::FormatAbortRequest(), FxUsbPipe::FormatResetRequest(), FxUsbDevice(), and SendSyncUmUrb().
|
protected |
Definition at line 633 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetCurrentFrameNumber(), and InitDevice().
|
protected |
Definition at line 643 of file fxusbdevice.hpp.
Referenced by FxUsbInterface::DetermineDefaultMaxTransferSize(), FxUsbDevice(), GetInformation(), and InitDevice().
|
protected |
Definition at line 651 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetFxUrbTypeForRequest(), GetUrbType(), and InitDevice().
|
protected |
Definition at line 619 of file fxusbdevice.hpp.
Referenced by CreateIsochUrb(), CreateUrb(), Dispose(), FormatControlRequest(), FormatStringRequest(), FxUsbDevice(), GetUSBDHandle(), InitDevice(), QueryUsbCapability(), and SelectConfig().
|
protected |
Definition at line 631 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), GetInformation(), and InitDevice().
|
private |
Definition at line 663 of file fxusbdevice.hpp.
Referenced by FxUsbDevice(), and FxUsbInterface::SetWinUsbHandle().