ReactOS 0.4.16-dev-329-g9223134
|
#include <fxiotarget.hpp>
Public Attributes | |
FxTransactionedEntry | m_TransactionedEntry |
BOOLEAN | m_InStack |
BOOLEAN | m_AddedToDeviceList |
Static Public Attributes | |
static const PVOID | m_SentRequestTag = (PVOID) 'lcnC' |
Static Protected Member Functions | |
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) |
Protected Attributes | |
LIST_ENTRY | m_SentIoListHead |
LIST_ENTRY | m_IgnoredIoListHead |
FxCREvent | m_SentIoEvent |
FxCREvent * | m_DisposeEvent |
FxCREvent | m_DisposeEventUm |
FxIrpQueue | m_PendedQueue |
FxDriver * | m_Driver |
MdDeviceObject | m_InStackDevice |
MdDeviceObject | m_TargetDevice |
MdDeviceObject | m_TargetPdo |
MdFileObject | m_TargetFileObject |
WDF_IO_TARGET_STATE | m_State |
LONG | m_IoCount |
CCHAR | m_TargetStackSize |
UCHAR | m_TargetIoType |
BOOLEAN | m_WaitingForSentIo |
BOOLEAN | m_Removing |
Protected Attributes inherited from FxObject | |
union { | |
CfxDeviceBase * m_DeviceBase | |
CfxDevice * m_Device | |
}; | |
Static Protected Attributes | |
static MdCompletionRoutineType | _RequestCompletionRoutine |
static EVT_WDF_REQUEST_COMPLETION_ROUTINE | _SyncCompletionRoutine |
Private Member Functions | |
VOID | Construct (VOID) |
VOID | ClearCompletedRequestVerifierFlags (__in FxRequestBase *Request) |
VOID | SetCompletionRoutine (__in FxRequestBase *Request) |
Private Attributes | |
friend | FxRequestBase |
Definition at line 210 of file fxiotarget.hpp.
FxIoTarget::FxIoTarget | ( | __in PFX_DRIVER_GLOBALS | FxDriverGlobals, |
__in USHORT | ObjectSize | ||
) |
Definition at line 34 of file fxiotarget.cpp.
FxIoTarget::FxIoTarget | ( | __in PFX_DRIVER_GLOBALS | FxDriverGlobals, |
__in USHORT | ObjectSize, | ||
__in WDFTYPE | WdfType | ||
) |
Definition at line 43 of file fxiotarget.cpp.
|
protected |
Definition at line 91 of file fxiotarget.cpp.
|
static |
Definition at line 534 of file fxiotarget.cpp.
Referenced by _CancelSentRequests().
|
staticprotected |
Definition at line 550 of file fxiotarget.cpp.
Referenced by FxUsbDevice::_CleanupPipesRequests(), CancelSentIo(), FxIoTargetRemote::Close(), Purge(), FxUsbDevice::Purge(), Remove(), Stop(), and FxUsbDevice::Stop().
|
inlinestatic |
Definition at line 455 of file fxiotarget.hpp.
|
staticprotected |
Definition at line 2532 of file fxiotarget.cpp.
Referenced by Construct().
Definition at line 2618 of file fxiotarget.cpp.
Referenced by FxUsbDevice::CancelSentIo(), and FxUsbPipe::Reset().
|
inlineprivate |
Definition at line 814 of file fxiotarget.hpp.
Referenced by DrainPendedRequestsLocked(), and RemoveCompletedRequestLocked().
Reimplemented in FxIoTargetRemote.
Definition at line 618 of file fxiotarget.hpp.
Referenced by FxIoTargetRemote::ClearTargetPointers(), GotoRemoveState(), and RemoveCompletedRequestLocked().
VOID FxIoTarget::CompleteCanceledRequest | ( | __in FxRequestBase * | Request | ) |
Definition at line 2183 of file fxiotarget.cpp.
Referenced by FxRequestBase::Cancel().
VOID FxIoTarget::CompletePendedRequest | ( | __in FxRequestBase * | Request | ) |
Definition at line 508 of file fxiotarget.cpp.
Referenced by FxUsbDevice::_CleanupPipesRequests(), and CompletePendedRequestList().
|
protected |
Definition at line 520 of file fxiotarget.cpp.
Referenced by FxIoTargetRemote::Close(), Purge(), FxUsbDevice::Purge(), and Remove().
|
inlineprotected |
Definition at line 580 of file fxiotarget.hpp.
Referenced by CompleteCanceledRequest(), HandleFailedResubmit(), RequestCompletionRoutine(), and TimerCallback().
Definition at line 54 of file fxiotarget.cpp.
Referenced by FxIoTarget().
|
inlineprotected |
Definition at line 743 of file fxiotarget.hpp.
Referenced by FormatInternalIoctlOthersRequest(), FormatIoctlRequest(), and FormatIoRequest().
Definition at line 785 of file fxiotarget.hpp.
Referenced by CompleteCanceledRequest(), HandleFailedResubmit(), RequestCompletionRoutine(), SubmitLocked(), SubmitPendedRequest(), and TimerCallback().
Reimplemented from FxObject.
Reimplemented in FxUsbDevice, and FxUsbPipe.
Definition at line 154 of file fxiotarget.cpp.
Referenced by FxUsbDevice::Dispose(), and FxUsbPipe::Dispose().
|
protected |
Definition at line 395 of file fxiotarget.cpp.
Referenced by GotoPurgeState(), GotoRemoveState(), and GotoStartState().
|
protected |
Definition at line 1877 of file fxiotarget.cpp.
Referenced by _RequestCancelled(), and CompletePendedRequest().
_Must_inspect_result_ NTSTATUS FxIoTarget::FormatInternalIoctlOthersRequest | ( | __in FxRequestBase * | Request, |
__in ULONG | Ioctl, | ||
__in FxRequestBuffer * | Buffers | ||
) |
Definition at line 2454 of file fxiotarget.cpp.
Referenced by FxUsbDevice::GetPortStatus().
_Must_inspect_result_ NTSTATUS FxIoTarget::FormatIoctlRequest | ( | __in FxRequestBase * | Request, |
__in ULONG | Ioctl, | ||
__in BOOLEAN | Internal, | ||
__in FxRequestBuffer * | InputBuffer, | ||
__in FxRequestBuffer * | OutputBuffer, | ||
__in_opt FxFileObject * | FileObject = NULL |
||
) |
Definition at line 280 of file fxiotargetkm.cpp.
Referenced by FxUsbDevice::FormatCycleRequest(), FxIoTargetFormatIoctl(), FxIoTargetSendIoctl(), and FxUsbDevice::Reset().
_Must_inspect_result_ NTSTATUS FxIoTarget::FormatIoRequest | ( | __inout FxRequestBase * | Request, |
__in UCHAR | MajorCode, | ||
__in FxRequestBuffer * | IoBuffer, | ||
__in_opt PLONGLONG | StartingOffset, | ||
__in_opt FxFileObject * | FileObject = NULL |
||
) |
Definition at line 34 of file fxiotargetkm.cpp.
Referenced by FxIoTargetFormatIo(), and FxIoTargetSendIo().
Definition at line 699 of file fxiotarget.hpp.
FxIoTarget::FX_DECLARE_VF_FUNCTION_P1 | ( | NTSTATUS | , |
VerifySubmitLocked | , | ||
_In_ FxRequestBase * | |||
) |
|
inline |
Definition at line 299 of file fxiotarget.hpp.
Definition at line 316 of file fxiotarget.hpp.
|
inline |
Definition at line 307 of file fxiotarget.hpp.
Referenced by FxRequestBase::CompleteSubmitted(), FxRequestBase::CompleteSubmittedNoContext(), and if().
|
protected |
Definition at line 582 of file fxiotarget.cpp.
Referenced by CancelSentIo(), GotoPurgeState(), GotoRemoveState(), and GotoStopState().
|
inline |
Definition at line 263 of file fxiotarget.hpp.
|
inline |
Definition at line 272 of file fxiotarget.hpp.
Referenced by FxUsbPipeContinuousReader::FxUsbPipeContinuousReader().
|
inlinevirtual |
Reimplemented in FxIoTargetSelf.
Definition at line 326 of file fxiotarget.hpp.
Referenced by Init().
|
inline |
Definition at line 290 of file fxiotarget.hpp.
Definition at line 631 of file fxiotarget.hpp.
Referenced by Init(), FxIoTargetRemote::Open(), and UpdateTargetIoType().
|
inline |
Definition at line 281 of file fxiotarget.hpp.
Referenced by __deref_out_range(), and FxDevice::SetFilterIoType().
|
protectedvirtual |
Reimplemented in FxUsbPipe.
Definition at line 790 of file fxiotarget.cpp.
Referenced by FxUsbPipe::GotoPurgeState(), and Purge().
|
protectedvirtual |
Reimplemented in FxUsbPipe.
Definition at line 964 of file fxiotarget.cpp.
Referenced by FxIoTargetRemote::Close(), FxUsbPipe::GotoRemoveState(), and Remove().
|
protectedvirtual |
Reimplemented in FxUsbPipe.
Definition at line 306 of file fxiotarget.cpp.
Referenced by FxUsbPipe::GotoStartState(), FxIoTargetRemote::Open(), and Start().
|
protectedvirtual |
Reimplemented in FxUsbPipe.
Definition at line 617 of file fxiotarget.cpp.
Referenced by FxUsbPipe::GotoStopState(), and Stop().
|
protected |
Definition at line 2226 of file fxiotarget.cpp.
Referenced by SubmitPendedRequest().
Definition at line 396 of file fxiotarget.hpp.
Definition at line 250 of file fxiotargetkm.hpp.
Definition at line 767 of file fxiotarget.hpp.
Referenced by FxUsbPipe::GotoStartState(), and SubmitLocked().
_Must_inspect_result_ NTSTATUS FxIoTarget::Init | ( | __in CfxDeviceBase * | Device | ) |
Definition at line 1119 of file fxiotarget.cpp.
Referenced by CTipbarWnd::_CreateThread(), FxDeviceBase::AllocateTarget(), FxUsbInterface::MakeAndConfigurePipes(), FxUsbDevice::SelectConfig(), and FxUsbInterface::SelectSetting().
|
protected |
Definition at line 237 of file fxiotargetkm.hpp.
Referenced by Init(), and FxIoTargetRemote::InitRemote().
|
protected |
Definition at line 2017 of file fxiotarget.cpp.
Referenced by SubmitLocked().
Definition at line 99 of file fxiotarget.cpp.
Referenced by DecrementIoCount().
|
virtual |
Reimplemented in FxUsbDevice.
Definition at line 918 of file fxiotarget.cpp.
Referenced by __drv_strictTypeMatch(), and FxUsbDevice::Purge().
_Must_inspect_result_ NTSTATUS FxIoTarget::QueryInterface | ( | __inout FxQueryInterfaceParams * | Params | ) |
Definition at line 1102 of file fxiotarget.cpp.
Referenced by FxIoTargetRemote::QueryInterface().
Reimplemented in FxIoTargetRemote.
Definition at line 1066 of file fxiotarget.cpp.
|
protected |
Definition at line 1919 of file fxiotarget.cpp.
Referenced by CompleteCanceledRequest(), HandleFailedResubmit(), RequestCompletionRoutine(), and TimerCallback().
|
protected |
Definition at line 2304 of file fxiotarget.cpp.
Referenced by FailPendedRequest().
Reimplemented in FxIoTargetSelf.
Definition at line 259 of file fxiotargetkm.hpp.
Referenced by SubmitPendedRequest(), and SubmitSync().
|
inlineprivate |
Definition at line 834 of file fxiotarget.hpp.
Referenced by SubmitLocked().
|
virtual |
Reimplemented in FxUsbDevice.
Definition at line 282 of file fxiotarget.cpp.
Referenced by FxUsbDevice::Start().
|
virtual |
Reimplemented in FxUsbDevice.
Definition at line 748 of file fxiotarget.cpp.
Referenced by __drv_strictTypeMatch(), and FxUsbDevice::Stop().
ULONG FxIoTarget::Submit | ( | __in FxRequestBase * | Request, |
__in_opt PWDF_REQUEST_SEND_OPTIONS | Options, | ||
__in_opt ULONG | Flags | ||
) |
Definition at line 1636 of file fxiotarget.cpp.
Referenced by SubmitPendedRequest(), and SubmitSync().
ULONG FxIoTarget::SubmitLocked | ( | __in FxRequestBase * | Request, |
__in_opt PWDF_REQUEST_SEND_OPTIONS | Options, | ||
__in ULONG | Flags | ||
) |
Definition at line 1244 of file fxiotarget.cpp.
Referenced by FxUsbPipeContinuousReader::ResubmitRepeater(), and Submit().
VOID FxIoTarget::SubmitPendedRequest | ( | __in FxRequestBase * | Request | ) |
Definition at line 206 of file fxiotarget.cpp.
Referenced by FxUsbDevice::Start(), and SubmitPendedRequests().
|
protected |
Definition at line 268 of file fxiotarget.cpp.
Referenced by FxIoTargetRemote::Open(), and Start().
_Must_inspect_result_ NTSTATUS FxIoTarget::SubmitSync | ( | __in FxRequestBase * | Request, |
__in_opt PWDF_REQUEST_SEND_OPTIONS | Options = NULL , |
||
__out_opt PULONG | Action = NULL |
||
) |
Definition at line 1654 of file fxiotarget.cpp.
Referenced by __in_xcount(), FxUsbPipe::_SendTransfer(), FxUsbDevice::Deconfig(), FxIoTargetSendIo(), FxIoTargetSendIoctl(), FxUsbDevice::GetPortStatus(), FxUsbDevice::GetString(), if(), FxUsbDevice::InitDevice(), FxUsbDevice::SelectConfig(), FxUsbInterface::SelectSetting(), FxUsbDevice::SendSyncRequest(), FxUsbDevice::SendSyncUmUrb(), and SubmitSyncRequestIgnoreTargetState().
_Must_inspect_result_ NTSTATUS FxIoTarget::SubmitSyncRequestIgnoreTargetState | ( | __in FxRequestBase * | Request, |
__in_opt PWDF_REQUEST_SEND_OPTIONS | RequestOptions | ||
) |
Definition at line 2659 of file fxiotarget.cpp.
Referenced by FxUsbDevice::CyclePort(), FxUsbDevice::Reset(), and FxUsbPipe::Reset().
VOID FxIoTarget::TimerCallback | ( | __in FxRequestBase * | Request | ) |
Definition at line 2061 of file fxiotarget.cpp.
Definition at line 2699 of file fxiotarget.cpp.
Referenced by FxDevice::SetFilterIoType().
Definition at line 124 of file fxiotarget.cpp.
Referenced by FxIoTargetRemote::Close(), and Remove().
Reimplemented in FxUsbPipe.
Definition at line 676 of file fxiotarget.hpp.
Referenced by FxIoTargetRemote::Close(), GotoRemoveState(), GotoStartState(), FxUsbDevice::PipesGotoRemoveState(), Purge(), FxUsbDevice::Purge(), Remove(), Stop(), FxUsbDevice::Stop(), and FxUsbPipe::WaitForSentIoToComplete().
|
staticprotected |
Definition at line 609 of file fxiotarget.hpp.
Referenced by SetCompletionRoutine().
|
staticprotected |
Definition at line 662 of file fxiotarget.hpp.
Referenced by SubmitSync().
|
private |
Definition at line 212 of file fxiotarget.hpp.
BOOLEAN FxIoTarget::m_AddedToDeviceList |
Definition at line 860 of file fxiotarget.hpp.
Referenced by Construct(), and Dispose().
|
protected |
Definition at line 885 of file fxiotarget.hpp.
Referenced by Construct(), DecrementIoCount(), PrintDisposeMessage(), and WaitForDisposeEvent().
|
protected |
Definition at line 892 of file fxiotarget.hpp.
Referenced by WaitForDisposeEvent().
|
protected |
Definition at line 900 of file fxiotarget.hpp.
Referenced by Construct(), GetDriver(), Init(), FxIoTargetRemote::InitRemote(), and FxIoTargetRemote::RegisterForPnpNotification().
|
protected |
Definition at line 873 of file fxiotarget.hpp.
Referenced by Construct(), GotoRemoveState(), RemoveCompletedRequestLocked(), SubmitLocked(), and ~FxIoTarget().
BOOLEAN FxIoTarget::m_InStack |
Definition at line 855 of file fxiotarget.hpp.
Referenced by Construct(), CopyFileObjectAndFlags(), and FxIoTargetRemote::FxIoTargetRemote().
|
protected |
Definition at line 905 of file fxiotarget.hpp.
Referenced by Construct(), Init(), FxUsbDevice::InitDevice(), FxIoTargetRemote::InitRemote(), and SetCompletionRoutine().
|
protected |
Definition at line 935 of file fxiotarget.hpp.
Referenced by Construct(), DecrementIoCount(), IncrementIoCount(), UpdateTargetIoType(), WaitForDisposeEvent(), and ~FxIoTarget().
|
protected |
Definition at line 895 of file fxiotarget.hpp.
Referenced by _RequestCancelled(), Construct(), DrainPendedRequestsLocked(), and PendRequestLocked().
|
protected |
Definition at line 955 of file fxiotarget.hpp.
Referenced by Construct(), GotoRemoveState(), RemoveCompletedRequestLocked(), and SubmitLocked().
|
protected |
Definition at line 878 of file fxiotarget.hpp.
Referenced by FxIoTargetRemote::Close(), CompleteCanceledRequest(), GotoPurgeState(), GotoRemoveState(), GotoStartState(), GotoStopState(), HandleFailedResubmit(), RequestCompletionRoutine(), TimerCallback(), and WaitForSentIoToComplete().
|
protected |
Definition at line 868 of file fxiotarget.hpp.
Referenced by CancelSentIo(), Construct(), GotoPurgeState(), GotoRemoveState(), FxUsbPipe::GotoStartState(), GotoStopState(), RemoveCompletedRequestLocked(), SubmitLocked(), and ~FxIoTarget().
Definition at line 862 of file fxiotarget.hpp.
Referenced by _CancelSentRequest(), and GetSentRequestsListLocked().
|
protected |
Definition at line 928 of file fxiotarget.hpp.
Referenced by FxIoTargetRemote::ClearTargetPointers(), Construct(), GetState(), GotoPurgeState(), GotoRemoveState(), FxUsbPipe::GotoRemoveState(), GotoStartState(), GotoStopState(), FxIoTargetRemote::Open(), FxUsbDevice::PipesGotoRemoveState(), FxUsbPipeContinuousReader::QueueWorkItemLocked(), Remove(), FxUsbPipeContinuousReader::ResubmitRepeater(), and SubmitLocked().
|
protected |
Definition at line 910 of file fxiotarget.hpp.
Referenced by __drv_functionClass(), ClearTargetPointers(), FxIoTargetRemote::Close(), Construct(), FxUsbPipeContinuousReader::FxUsbPipeRequestWorkItemHandler(), GetTargetDevice(), FxIoTargetRemote::GetTargetDeviceRelations(), GetTargetIoType(), Init(), FxUsbDevice::InitDevice(), FxIoTargetRemote::Open(), FxIoTargetRemote::OpenTargetHandle(), and Send().
|
protected |
Definition at line 923 of file fxiotarget.hpp.
Referenced by FxIoTargetRemote::CanRegisterForPnpNotification(), ClearTargetPointers(), FxIoTargetRemote::ClearTargetPointers(), FxIoTargetRemote::Close(), Construct(), CopyFileObjectAndFlags(), GetTargetFileObject(), FxIoTargetRemote::Open(), FxIoTargetRemote::OpenTargetHandle(), and FxIoTargetRemote::RegisterForPnpNotification().
|
protected |
Definition at line 947 of file fxiotarget.hpp.
Referenced by ClearTargetPointers(), Construct(), FormatIoRequest(), Init(), FxIoTargetRemote::Open(), and UpdateTargetIoType().
|
protected |
Definition at line 918 of file fxiotarget.hpp.
Referenced by ClearTargetPointers(), FxIoTargetRemote::ClearTargetPointers(), Construct(), FxIoTargetRemote::GetTargetDeviceRelations(), GetTargetPDO(), Init(), and FxIoTargetRemote::Open().
|
protected |
Definition at line 941 of file fxiotarget.hpp.
Referenced by ClearTargetPointers(), Construct(), HasEnoughStackLocations(), HasValidStackSize(), Init(), and FxIoTargetRemote::Open().
FxTransactionedEntry FxIoTarget::m_TransactionedEntry |
Definition at line 853 of file fxiotarget.hpp.
Referenced by _FromEntry(), and Construct().
|
protected |
Definition at line 953 of file fxiotarget.hpp.
Referenced by Construct(), GotoPurgeState(), GotoRemoveState(), GotoStartState(), GotoStopState(), Purge(), RemoveCompletedRequestLocked(), and Stop().