ReactOS 0.4.16-dev-555-g690643f
|
#include <fxrequestbase.hpp>
Public Attributes | |
union { | |
MdIoCsqIrpContext m_CsqContext | |
LIST_ENTRY m_ListEntry | |
}; | |
union { | |
SINGLE_LIST_ENTRY m_DrainSingleEntry | |
BOOLEAN m_NextStackLocationFormatted | |
}; | |
Protected Member Functions | |
FxRequestBase (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ObjectSize, __in_opt MdIrp Irp, __in FxRequestIrpOwnership Ownership, __in FxRequestConstructorCaller Caller, __in FxObjectType ObjectType=FxObjectTypeExternal) | |
virtual | ~FxRequestBase (VOID) |
FX_DECLARE_VF_FUNCTION (VOID, VerifyDispose) | |
virtual BOOLEAN | Dispose (VOID) |
VOID | CompleteSubmittedNoContext (VOID) |
VOID | ZeroOutDriverContext (VOID) |
Protected Member Functions inherited from FxObject | |
FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType ObjectType) | |
FxObjectDebugExtension * | GetDebugExtension (VOID) |
BOOLEAN | IsDebug (VOID) |
VOID | AllocateTagTracker (__in WDFTYPE Type) |
virtual VOID | SelfDestruct (VOID) |
PVOID __inline | GetObjectHandleUnchecked (VOID) |
VOID __inline | DestroyChildren (VOID) |
VOID | DeleteEarlyDisposedObject (VOID) |
Static Protected Attributes | |
static MdDeferredRoutineType | _TimerDPC |
Private Attributes | |
friend | FxIoTarget |
friend | FxSyncRequest |
Additional Inherited Members | |
Static Protected Member Functions inherited from FxObject | |
static PVOID | _GetBase (__in FxObject *Object) |
Definition at line 166 of file fxrequestbase.hpp.
|
protected |
Definition at line 32 of file fxrequestbase.cpp.
|
protectedvirtual |
Definition at line 136 of file fxrequestbase.cpp.
|
inlinestatic |
Definition at line 666 of file fxrequestbase.hpp.
Referenced by FxIoTarget::_RequestCancelled(), and FxIoTarget::DrainPendedRequestsLocked().
|
inlinestatic |
Definition at line 655 of file fxrequestbase.hpp.
Referenced by FxIoTarget::_CancelSentRequests().
|
inlinestatic |
Definition at line 645 of file fxrequestbase.hpp.
Referenced by FxUsbDevice::_CleanupPipesRequests(), FxIoTarget::CompletePendedRequestList(), FxIoTarget::GetSentRequestsListLocked(), FxUsbDevice::Start(), and FxIoTarget::SubmitPendedRequests().
Definition at line 534 of file fxrequestbase.cpp.
Referenced by FxUsbPipeContinuousReader::CancelRepeaters().
_Must_inspect_result_ BOOLEAN FxRequestBase::CancelTimer | ( | VOID | ) |
Definition at line 766 of file fxrequestbase.cpp.
Referenced by FxIoTarget::DrainPendedRequestsLocked().
Definition at line 334 of file fxrequestbase.hpp.
Referenced by FxIoTarget::DrainPendedRequestsLocked().
|
inline |
Definition at line 198 of file fxrequestbase.hpp.
Referenced by CompleteSubmitted(), and CompleteSubmittedNoContext().
|
inline |
Definition at line 185 of file fxrequestbase.hpp.
Referenced by CompleteSubmitted(), and CompleteSubmittedNoContext().
Definition at line 260 of file fxrequestbase.cpp.
Referenced by FxRequest::ClearFieldsForReuse().
Definition at line 395 of file fxrequestbase.hpp.
Referenced by FxIoTarget::_RequestCancelled(), and FxIoTarget::DrainPendedRequestsLocked().
Definition at line 479 of file fxrequestbase.hpp.
Referenced by FxIoQueue::DispatchRequestToDriver(), FxIoQueue::RequestCancelable(), FxRequest::Reuse(), and VerifierClearFormatted().
Definition at line 470 of file fxrequestbase.hpp.
Referenced by ClearVerifierFlags().
Definition at line 454 of file fxrequestbase.cpp.
Definition at line 416 of file fxrequestbase.cpp.
Referenced by CompleteSubmitted().
Definition at line 264 of file fxrequestbase.hpp.
Referenced by ValidateTarget().
_Must_inspect_result_ NTSTATUS FxRequestBase::CreateTimer | ( | VOID | ) |
Definition at line 674 of file fxrequestbase.cpp.
Reimplemented from FxObject.
Definition at line 206 of file fxrequestbase.cpp.
Definition at line 280 of file fxrequestbase.hpp.
DECLSPEC_NORETURN VOID FxRequestBase::FatalError | ( | __in NTSTATUS | Status | ) |
Definition at line 816 of file fxrequestbase.cpp.
Definition at line 31 of file fxrequestbasekm.hpp.
|
protected |
|
inline |
Definition at line 232 of file fxrequestbase.hpp.
Referenced by FxUsbPipe::_FormatTransfer(), FxUsbPipeContinuousReader::FormatRepeater(), FxIoTargetFormatIo(), FxIoTargetFormatIoctl(), and if().
|
inline |
Definition at line 635 of file fxrequestbase.hpp.
Referenced by FxIoQueue::AllocateReservedRequest(), FxIoQueue::DispatchRequestToDriver(), FxIoQueue::GetRequest(), if(), FxIoQueue::QueuePurge(), FxIoQueue::QueueRequest(), FxIoQueue::QueueRequestFromForward(), and FxIoQueue::Requeue().
Definition at line 613 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), and FxRequest::Release().
Definition at line 319 of file fxrequestbase.hpp.
Referenced by CompleteSubmitted(), CompleteSubmittedNoContext(), FxRequest::CopyCurrentIrpStackLocationToNext(), FxIoTarget::DrainPendedRequestsLocked(), FxUsbPipeContinuousReader::FxUsbPipeRequestWorkItemHandler(), FxRequest::SetImpersonationFlags(), and ZeroOutDriverContext().
Definition at line 310 of file fxrequestbase.hpp.
Referenced by __drv_functionClass(), FxUsbPipeContinuousReader::Config(), and ValidateTarget().
|
inline |
Definition at line 357 of file fxrequestbase.hpp.
Referenced by FxUsbDevice::_CleanupPipesRequests(), FxRequest::Reuse(), and FxUsbDevice::Start().
Definition at line 375 of file fxrequestbase.hpp.
Referenced by FxIoTarget::_RequestCancelled(), and FxIoTarget::DrainPendedRequestsLocked().
Definition at line 675 of file fxrequestbase.hpp.
Referenced by FxIoTarget::_RequestCancelled(), FxIoTarget::DrainPendedRequestsLocked(), FatalError(), FxRequest::Reuse(), and ValidateTarget().
Definition at line 430 of file fxrequestbase.hpp.
Referenced by FxIoQueue::DispatchRequestToDriver(), and VerifierIsFormatted().
Definition at line 420 of file fxrequestbase.hpp.
Referenced by GetVerifierFlags(), and FxRequest::Reuse().
Definition at line 299 of file fxrequestbase.hpp.
Referenced by FxPkgIo::EnqueueRequest(), and FxRequest::PreProcessSendAndForget().
|
inline |
Definition at line 289 of file fxrequestbase.hpp.
Definition at line 577 of file fxrequestbase.hpp.
Referenced by FxRequest::GetFileObject().
Definition at line 568 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), Dispose(), FreeMdls(), FxIoQueue::QueueRequestFromForward(), and FxRequest::Release().
Definition at line 222 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal().
Definition at line 586 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), FreeMdls(), and FxRequest::Release().
Definition at line 212 of file fxrequestbase.hpp.
Definition at line 595 of file fxrequestbase.hpp.
Referenced by FxIoQueue::AllocateReservedRequest(), and ClearFieldsForReuse().
|
inline |
Definition at line 175 of file fxrequestbase.hpp.
Referenced by FxUsbPipeContinuousReader::FormatRepeater(), and FxRequest::Reuse().
|
inline |
Definition at line 241 of file fxrequestbase.hpp.
Definition at line 604 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), FxRequest::Complete(), and FxRequest::CompleteWithPriority().
Definition at line 411 of file fxrequestbase.hpp.
Definition at line 382 of file fxrequestbase.cpp.
Referenced by FxRequest::_Create(), and ValidateTarget().
|
inline |
Definition at line 366 of file fxrequestbase.hpp.
Referenced by FxUsbPipe::GotoStartState().
Definition at line 385 of file fxrequestbase.hpp.
Referenced by FxIoTarget::DrainPendedRequestsLocked().
Definition at line 455 of file fxrequestbase.hpp.
Referenced by FxIoQueue::DispatchRequestToDriver(), FxIoQueue::PeekRequest(), FxIoQueue::RequestCancelable(), FxRequest::Reuse(), and VerifierSetFormatted().
Definition at line 446 of file fxrequestbase.hpp.
Referenced by SetVerifierFlags().
Definition at line 536 of file fxrequestbase.hpp.
Definition at line 736 of file fxrequestbase.cpp.
_Must_inspect_result_ NTSTATUS FxRequestBase::ValidateTarget | ( | __in FxIoTarget * | Target | ) |
Definition at line 299 of file fxrequestbase.cpp.
Referenced by FxRequest::_Create().
Definition at line 506 of file fxrequestbase.hpp.
Referenced by CompleteSubmitted(), and ContextReleaseAndRestore().
Definition at line 518 of file fxrequestbase.hpp.
Definition at line 494 of file fxrequestbase.hpp.
Definition at line 744 of file fxrequestbase.hpp.
Referenced by CompleteSubmitted().
union { ... } FxRequestBase::@4834 |
union { ... } FxRequestBase::@4836 |
union { ... } FxRequestBase::@4838 |
union { ... } FxRequestBase::@4840 |
union { ... } FxRequestBase::@4842 |
union { ... } FxRequestBase::@4844 |
|
staticprotected |
Definition at line 736 of file fxrequestbase.hpp.
Referenced by CreateTimer().
SHORT FxRequestBase::Cancelled |
Definition at line 889 of file fxrequestbase.hpp.
UCHAR FxRequestBase::CancelledFromTimer |
Definition at line 858 of file fxrequestbase.hpp.
UCHAR FxRequestBase::Completed |
Definition at line 855 of file fxrequestbase.hpp.
SHORT FxRequestBase::DriverCancelable |
Definition at line 887 of file fxrequestbase.hpp.
SHORT FxRequestBase::DriverDispatch |
Definition at line 886 of file fxrequestbase.hpp.
SHORT FxRequestBase::DriverInEvtIoStopContext |
Definition at line 892 of file fxrequestbase.hpp.
SHORT FxRequestBase::DriverInprocessContext |
Definition at line 888 of file fxrequestbase.hpp.
SHORT FxRequestBase::DriverOwned |
Definition at line 883 of file fxrequestbase.hpp.
UCHAR FxRequestBase::FlagsPended |
Definition at line 856 of file fxrequestbase.hpp.
SHORT FxRequestBase::Formatted |
Definition at line 890 of file fxrequestbase.hpp.
SHORT FxRequestBase::Forwarded |
Definition at line 885 of file fxrequestbase.hpp.
|
private |
Definition at line 168 of file fxrequestbase.hpp.
|
private |
Definition at line 169 of file fxrequestbase.hpp.
UCHAR FxRequestBase::IgnoreState |
Definition at line 859 of file fxrequestbase.hpp.
|
protected |
Definition at line 952 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), FxRequestBase(), FxRequest::GetDeviceControlOutputMdl(), FxRequest::GetMdl(), and ~FxRequestBase().
|
protected |
Definition at line 871 of file fxrequestbase.hpp.
Referenced by Cancel(), ClearFieldsForReuse(), FxRequestBase(), FxRequest::IsCancelled(), FxIoQueue::QueuePurge(), FxIoQueue::RequestCancelable(), and FxRequest::Reuse().
|
protected |
Definition at line 828 of file fxrequestbase.hpp.
Referenced by IsCancelRoutineSet(), and FxIoQueue::RequestCancelable().
|
protected |
Definition at line 947 of file fxrequestbase.hpp.
Referenced by FxRequestBase(), FxRequest::GetFileObject(), IsCanComplete(), and FxRequest::Reuse().
|
protected |
Definition at line 869 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), FxRequestBase(), FxRequest::GetCurrentQueue(), FxRequest::InsertHeadIrpQueue(), FxRequest::InsertTailIrpQueue(), FxRequest::PostProcessSendAndForget(), FxRequest::Release(), FxRequest::Reuse(), SetCompleted(), FxRequest::SetCompletionState(), and SetSubmitIrp().
|
protected |
Definition at line 830 of file fxrequestbase.hpp.
Referenced by ClearCompletionRoutine(), CompleteSubmitted(), IsCompletionRoutineSet(), and SetCompletionRoutine().
|
protected |
Definition at line 942 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), FxRequest::CompleteInternal(), FxRequestBase(), FxRequest::PostProcessSendAndForget(), FxRequest::Release(), FxRequest::Reuse(), and FxRequest::SetCompletionState().
MdIoCsqIrpContext FxRequestBase::m_CsqContext |
Definition at line 770 of file fxrequestbase.hpp.
Referenced by _FromCsqContext(), FxRequest::GetCsqContext(), FxRequest::InsertHeadIrpQueue(), FxRequest::InsertTailIrpQueue(), FxRequest::RemoveFromIrpQueue(), and FxRequest::RetrieveFromCsqContext().
SINGLE_LIST_ENTRY FxRequestBase::m_DrainSingleEntry |
Definition at line 785 of file fxrequestbase.hpp.
Referenced by _FromDrainEntry(), ClearFieldsForReuse(), FxRequestBase(), FxIoTarget::GetSentRequestsListLocked(), and FxUsbPipe::GotoStartState().
|
protected |
Definition at line 806 of file fxrequestbase.hpp.
Referenced by FxRequest::AssignMemoryBuffers(), Cancel(), FxRequest::Complete(), FxRequest::CompleteInternal(), FxRequest::CompleteWithInformation(), FxRequest::CompleteWithPriority(), ContextReleaseAndRestore(), Dispose(), FxIoTarget::DrainPendedRequestsLocked(), FreeMdls(), FxRequestBase(), FxRequest::GetCurrentIrpStackLocation(), FxRequest::GetDeviceControlOutputMdl(), FxRequest::GetDeviceControlOutputMemoryObject(), FxRequest::GetFileObject(), FxRequest::GetFxIrp(), FxRequest::GetInformation(), FxRequest::GetIrp(), FxRequest::GetMdl(), FxRequest::GetMemoryObject(), FxRequest::GetParameters(), FxRequest::GetRequestorMode(), FxRequest::GetStatus(), GetSubmitFxIrp(), GetSubmitIrp(), FxRequest::InsertHeadIrpQueue(), FxRequest::InsertTailIrpQueue(), FxRequest::IsCancelled(), FxRequest::PostProcessSendAndForget(), FxRequest::PreProcessSendAndForget(), FxRequest::ProbeAndLockForRead(), FxRequest::ProbeAndLockForWrite(), FxRequest::Release(), FxRequest::Reuse(), FxRequest::SetCompletionState(), FxRequest::SetInformation(), FxRequest::SetStatus(), SetSubmitIrp(), and ~FxRequestBase().
|
protected |
Definition at line 867 of file fxrequestbase.hpp.
Referenced by FxRequestBase(), IsAllocatedDriver(), IsAllocatedFromIo(), FxRequest::Reuse(), SetSubmitIrp(), ValidateTarget(), and ~FxRequestBase().
|
protected |
Definition at line 840 of file fxrequestbase.hpp.
Referenced by Cancel(), CanComplete(), ClearFieldsForReuse(), and FxRequestBase().
|
protected |
Definition at line 903 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), FxRequestBase(), FxRequest::InsertHeadIrpQueue(), FxRequest::InsertTailIrpQueue(), FxRequest::MarkRemovedFromIrpQueue(), and FxRequest::RemoveFromIrpQueue().
|
protected |
Definition at line 900 of file fxrequestbase.hpp.
Referenced by FxRequest::AddIrpReference(), FxRequest::CompleteInternal(), FxRequestBase(), and FxRequest::ReleaseIrpReference().
LIST_ENTRY FxRequestBase::m_ListEntry |
Definition at line 777 of file fxrequestbase.hpp.
Referenced by _FromListEntry(), FxIoTarget::_RequestCancelled(), ClearFieldsForReuse(), FxIoTarget::DrainPendedRequestsLocked(), FxRequestBase(), and FxUsbPipe::GotoStartState().
BOOLEAN FxRequestBase::m_NextStackLocationFormatted |
Definition at line 795 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), and FxRequest::PreProcessSendAndForget().
|
protected |
Definition at line 905 of file fxrequestbase.hpp.
Referenced by FxRequest::AddRefOverride(), FxRequest::CheckAssumptions(), FxRequest::FxRequest(), FxRequestBase(), FxRequest::QueryInterface(), and FxRequest::ReleaseOverride().
|
protected |
Definition at line 937 of file fxrequestbase.hpp.
Referenced by FxRequestBase(), GetPriorityBoost(), and SetPriorityBoost().
UCHAR FxRequestBase::m_RequestBaseFlags |
Definition at line 911 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), FxRequest::CompleteInternal(), FxRequestBase(), FxRequest::GetDeviceControlOutputMemoryObject(), FxRequest::GetMemoryObject(), SetRequestBaseFlags(), and ShouldClearContext().
struct { ... } FxRequestBase::m_RequestBaseFlagsByName |
UCHAR FxRequestBase::m_RequestBaseStaticFlags |
Definition at line 926 of file fxrequestbase.hpp.
Referenced by FxRequest::AssignMemoryBuffers(), ClearFieldsForReuse(), FxRequest::CompleteInternal(), FxRequestBase(), FxRequest::GetDeviceControlOutputMemoryObject(), and FxRequest::GetMemoryObject().
struct { ... } FxRequestBase::m_RequestBaseStaticFlagsByName |
|
protected |
Definition at line 817 of file fxrequestbase.hpp.
Referenced by FxRequest::CompleteInternal(), CompleteSubmitted(), ContextReleaseAndRestore(), FxRequest::CopyCompletionParams(), Dispose(), FxRequest::FreeRequest(), FxRequestBase(), GetContext(), HasContext(), HasContextType(), FxRequest::Reuse(), SetContext(), and ~FxRequestBase().
|
protected |
Definition at line 873 of file fxrequestbase.hpp.
Referenced by FxRequest::AddRefOverride(), FxRequest::CheckAssumptions(), FxRequest::FxRequest(), FxRequestBase(), FxRequest::QueryInterface(), and FxRequest::ReleaseOverride().
|
protected |
Definition at line 815 of file fxrequestbase.hpp.
Referenced by Cancel(), ClearFieldsForReuse(), CompleteSubmitted(), CompleteSubmittedNoContext(), FxRequestBase(), GetTarget(), and SetTarget().
|
protected |
Definition at line 835 of file fxrequestbase.hpp.
Referenced by ClearCompletionContext(), ClearFieldsForReuse(), FxRequestBase(), and SetCompletionRoutine().
UCHAR FxRequestBase::m_TargetFlags |
Definition at line 848 of file fxrequestbase.hpp.
Referenced by CancelTimer(), ClearFieldsForReuse(), ClearTargetFlags(), FxRequestBase(), GetTargetFlags(), SetTargetFlags(), and StartTimer().
struct { ... } FxRequestBase::m_TargetFlagsByName |
|
protected |
Definition at line 822 of file fxrequestbase.hpp.
Referenced by CancelTimer(), ClearFieldsForReuse(), CreateTimer(), FxRequestBase(), StartTimer(), and ~FxRequestBase().
struct { ... } FxRequestBase::m_VeriferFlagsByName |
SHORT FxRequestBase::m_VerifierFlags |
Definition at line 880 of file fxrequestbase.hpp.
Referenced by ClearFieldsForReuse(), ClearVerifierFlagsLocked(), FxRequestBase(), GetVerifierFlagsLocked(), and SetVerifierFlagsLocked().
UCHAR FxRequestBase::OutputBufferValid |
Definition at line 930 of file fxrequestbase.hpp.
UCHAR FxRequestBase::OutputMdlMapped |
Definition at line 915 of file fxrequestbase.hpp.
SHORT FxRequestBase::SentToTarget |
Definition at line 891 of file fxrequestbase.hpp.
UCHAR FxRequestBase::SyncCleanupContext |
Definition at line 916 of file fxrequestbase.hpp.
UCHAR FxRequestBase::SystemBufferValid |
Definition at line 929 of file fxrequestbase.hpp.
UCHAR FxRequestBase::SystemMdlMapped |
Definition at line 914 of file fxrequestbase.hpp.
SHORT FxRequestBase::TagRequest |
Definition at line 884 of file fxrequestbase.hpp.
Referenced by FxRequest::GetNextRequest(), and FxRequest::PeekRequest().
UCHAR FxRequestBase::TimerSet |
Definition at line 857 of file fxrequestbase.hpp.