ReactOS 0.4.16-dev-36-g301675c
|
#include <fxioqueue.hpp>
Public Attributes | |
FxIoQueueNode | m_IoPkgListNode |
SINGLE_LIST_ENTRY | m_PowerSListEntry |
__in __drv_restoresIRQL KIRQL | PreviousIrql |
__out PKIRQL | PreviousIrql |
__in_opt FxRequest * | NewRequest |
Static Protected Attributes | |
static EVT_IRP_QUEUE_CANCEL | _IrpCancelForQueue |
static EVT_IRP_QUEUE_CANCEL | _IrpCancelForDriver |
static EVT_SYSTEMWORKITEM | _DeferredDispatchThreadThunk |
static MdDeferredRoutineType | _DeferredDispatchDpcThunk |
static EVT_WDF_IO_QUEUE_STATE | _PurgeComplete |
static EVT_WDF_IO_QUEUE_STATE | _IdleComplete |
static MdCancelRoutineType | _WdmCancelRoutineForReservedIrp |
Friends | |
VOID | GetTriageInfo (VOID) |
Additional Inherited Members | |
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 Member Functions inherited from FxObject | |
static PVOID | _GetBase (__in FxObject *Object) |
Protected Attributes inherited from FxObject | |
union { | |
CfxDeviceBase * m_DeviceBase | |
CfxDevice * m_Device | |
}; | |
Definition at line 232 of file fxioqueue.hpp.
FxIoQueue::FxIoQueue | ( | __in PFX_DRIVER_GLOBALS | FxDriverGlobals, |
__in FxPkgIo * | PkgIo | ||
) |
Definition at line 37 of file fxioqueue.cpp.
|
virtual |
Definition at line 142 of file fxioqueue.cpp.
|
private |
|
private |
|
private |
FxIoQueue::__drv_requiresIRQL | ( | DISPATCH_LEVEL | ) |
|
private |
|
private |
|
private |
|
static |
Definition at line 164 of file fxioqueue.cpp.
Referenced by FxPkgIo::CreateQueue().
|
inlinestatic |
Definition at line 1216 of file fxioqueue.hpp.
Referenced by FxPkgIo::AddIoQueue(), GetIoQueueList_ProcessQueueListEntry(), and FxPkgIo::GetNextIoQueueLocked().
|
inlinestatic |
Definition at line 1226 of file fxioqueue.hpp.
Referenced by FxPkgIo::ResetStateForRestart(), FxPkgIo::ResumeProcessingForPower(), and FxPkgIo::StopProcessingForPower().
|
inline |
Definition at line 1003 of file fxioqueue.hpp.
FxIoQueue::_Releases_lock_ | ( | this->m_SpinLock. | m_Lock | ) |
FxIoQueue::_Releases_lock_ | ( | this->m_SpinLock. | m_Lock | ) |
_Must_inspect_result_ NTSTATUS FxIoQueue::AllocateReservedRequest | ( | __deref_out FxRequest ** | Request | ) |
Definition at line 6359 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::AssignForwardProgressPolicy | ( | __in PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY | Policy | ) |
Definition at line 214 of file fxioqueueum.hpp.
Definition at line 4535 of file fxioqueue.cpp.
Referenced by QueueIdle(), QueuePurge(), and RequestCancelable().
|
private |
Definition at line 6436 of file fxioqueue.cpp.
Referenced by PurgeForwardProgressIrps(), and QueueIdle().
_Must_inspect_result_ BOOLEAN FxIoQueue::CanThreadDispatchEventsLocked | ( | __in KIRQL | PreviousIrql | ) |
Definition at line 2633 of file fxioqueue.cpp.
Definition at line 1541 of file fxioqueue.hpp.
Referenced by InsertNewRequestLocked(), QueueRequestFromForward(), and Requeue().
_Must_inspect_result_ NTSTATUS FxIoQueue::ConfigureConstraints | ( | __in_opt PWDF_OBJECT_ATTRIBUTES | ObjectAttributes, |
__in_opt FxDriver * | Caller | ||
) |
Definition at line 571 of file fxioqueue.cpp.
Referenced by Initialize().
Definition at line 2475 of file fxioqueue.cpp.
Definition at line 2520 of file fxioqueue.cpp.
Definition at line 3110 of file fxioqueue.cpp.
Reimplemented from FxObject.
Definition at line 448 of file fxioqueue.cpp.
DECLSPEC_NORETURN VOID FxIoQueue::FatalError | ( | __in NTSTATUS | Status | ) |
Definition at line 6339 of file fxioqueue.cpp.
VOID FxIoQueue::FlushByFileObject | ( | __in MdFileObject | FileObject | ) |
Definition at line 4256 of file fxioqueue.cpp.
Definition at line 150 of file fxioqueueum.hpp.
Referenced by Dispose().
_Must_inspect_result_ NTSTATUS FxIoQueue::ForwardRequest | ( | __in FxIoQueue * | pDestQueue, |
__in FxRequest * | pRequest | ||
) |
Definition at line 1712 of file fxioqueue.cpp.
Referenced by FxPkgGeneral::OnCreate().
_Must_inspect_result_ NTSTATUS FxIoQueue::ForwardRequestToParent | ( | __in FxIoQueue * | DestQueue, |
__in FxRequest * | Request, | ||
__in PWDF_REQUEST_FORWARD_OPTIONS | ForwardOptions | ||
) |
Definition at line 1569 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::ForwardRequestWorker | ( | __in FxRequest * | Request, |
__in FxIoQueue * | DestQueue | ||
) |
Definition at line 1354 of file fxioqueue.cpp.
Referenced by ForwardRequest(), and ForwardRequestToParent().
Definition at line 81 of file fxioqueueum.hpp.
Referenced by Dispose().
FxIoQueue::FX_DECLARE_VF_FUNCTION_P1_EX | ( | SHORT | , |
0 | , | ||
VerifyForwardRequestUpdateFlags | , | ||
_In_ FxRequest * | |||
) |
FxIoQueue::FX_DECLARE_VF_FUNCTION_P2 | ( | NTSTATUS | , |
VerifyForwardRequest | , | ||
_In_ FxIoQueue * | , | ||
_In_ FxRequest * | |||
) |
FxIoQueue::FX_DECLARE_VF_FUNCTION_P2 | ( | NTSTATUS | , |
VerifyForwardRequestToParent | , | ||
_In_ FxIoQueue * | , | ||
_In_ FxRequest * | |||
) |
FxIoQueue::FX_DECLARE_VF_FUNCTION_P2 | ( | NTSTATUS | , |
VerifyQueueDriverCreatedRequest | , | ||
_In_ FxRequest * | , | ||
_Inout_ SHORT * | |||
) |
FxIoQueue::FX_DECLARE_VF_FUNCTION_P2 | ( | NTSTATUS | , |
VerifyRequestCancelable | , | ||
_In_ FxRequest * | , | ||
_In_ | BOOLEAN | ||
) |
|
inlinevirtual |
Definition at line 1064 of file fxioqueue.hpp.
|
inlinevirtual |
Implements IFxHasCallbacks.
Definition at line 1048 of file fxioqueue.hpp.
|
inline |
Definition at line 1360 of file fxioqueue.hpp.
Referenced by AllocateReservedRequest().
Definition at line 773 of file fxioqueue.hpp.
Referenced by __drv_strictTypeMatch(), if(), PerfEvtIoStopStart(), PerfEvtIoStopStop(), PerfIoComplete(), and PerfIoStart().
Definition at line 767 of file fxioqueue.hpp.
|
private |
Definition at line 60 of file fxioqueueum.hpp.
|
private |
Definition at line 127 of file fxioqueueum.hpp.
Referenced by PurgeForwardProgressIrps(), and QueueIdle().
|
inline |
Definition at line 786 of file fxioqueue.hpp.
Definition at line 780 of file fxioqueue.hpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::GetRequest | ( | __in_opt MdFileObject | FileObject, |
__in_opt FxRequest * | TagRequest, | ||
__deref_out FxRequest ** | pOutRequest | ||
) |
Definition at line 962 of file fxioqueue.cpp.
Referenced by FxPkgGeneral::OnCreate().
VOID FxIoQueue::GetRequestCount | ( | __out_opt PULONG | pQueuedRequests, |
__out_opt PULONG | pDriverPendingRequests | ||
) |
Definition at line 4227 of file fxioqueue.cpp.
Referenced by GetState().
_Must_inspect_result_ NTSTATUS FxIoQueue::GetReservedRequest | ( | __in MdIrp | Irp, |
__deref_out_opt FxRequest ** | ReservedRequest | ||
) |
Definition at line 192 of file fxioqueueum.hpp.
WDF_IO_QUEUE_STATE FxIoQueue::GetState | ( | __out_opt PULONG | pQueueCount, |
__out_opt PULONG | pDriverCount | ||
) |
Definition at line 760 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::Initialize | ( | __in PWDF_IO_QUEUE_CONFIG | pConfig, |
__in_opt PWDF_OBJECT_ATTRIBUTES | QueueAttributes, | ||
__in_opt FxDriver * | Caller, | ||
__in BOOLEAN | InitialPowerStateOn | ||
) |
Definition at line 217 of file fxioqueue.cpp.
Referenced by _Create().
Definition at line 1451 of file fxioqueue.hpp.
Referenced by GetRequest().
|
inlineprivate |
Definition at line 1584 of file fxioqueue.hpp.
|
private |
Definition at line 2571 of file fxioqueue.cpp.
Referenced by InsertNewRequest(), and QueueRequest().
Definition at line 171 of file fxioqueueum.hpp.
Referenced by CanThreadDispatchEventsLocked(), and DeferredDispatchRequestsFromDpc().
Definition at line 1273 of file fxioqueue.hpp.
Definition at line 1264 of file fxioqueue.hpp.
Referenced by Dispose(), FlushByFileObject(), QueueIdle(), and QueuePurge().
BOOLEAN FxIoQueue::IsIoEventHandlerRegistered | ( | __in WDF_REQUEST_TYPE | RequestType | ) |
Definition at line 6178 of file fxioqueue.cpp.
Referenced by FxPkgIo::EnqueueRequest().
Definition at line 30 of file fxioqueuekm.hpp.
|
inline |
Definition at line 795 of file fxioqueue.hpp.
Definition at line 1429 of file fxioqueue.hpp.
|
inline |
Definition at line 853 of file fxioqueue.hpp.
|
inline |
Definition at line 843 of file fxioqueue.hpp.
Referenced by Dispose(), GetRequest(), QueueRequest(), QueueRequestFromForward(), ReadyNotify(), and SetState().
_Must_inspect_result_ NTSTATUS FxIoQueue::PeekRequest | ( | __in_opt FxRequest * | TagRequest, |
__in_opt MdFileObject | FileObject, | ||
__out_opt PWDF_REQUEST_PARAMETERS | Parameters, | ||
__deref_out FxRequest ** | pOutRequest | ||
) |
Definition at line 1197 of file fxioqueue.cpp.
Definition at line 1522 of file fxioqueue.hpp.
Referenced by PostRequestCompletedCallback().
Definition at line 725 of file fxioqueue.hpp.
Definition at line 1497 of file fxioqueue.hpp.
Referenced by PreRequestCompletedCallback().
Definition at line 692 of file fxioqueue.hpp.
|
private |
Definition at line 6467 of file fxioqueue.cpp.
Referenced by FlushByFileObject(), and QueuePurge().
Definition at line 1624 of file fxioqueue.hpp.
|
inlinevirtual |
Reimplemented from FxObject.
Definition at line 1078 of file fxioqueue.hpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueDrain | ( | __in_opt PFN_WDF_IO_QUEUE_STATE | DrainComplete, |
__in_opt WDFCONTEXT | Context | ||
) |
Definition at line 4158 of file fxioqueue.cpp.
Referenced by QueueDrainSynchronously().
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueDrainSynchronously | ( | VOID | ) |
Definition at line 4177 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueDriverCreatedRequest | ( | __in FxRequest * | Request, |
__in BOOLEAN | ParentQueue | ||
) |
Definition at line 1791 of file fxioqueue.cpp.
|
private |
Definition at line 46 of file fxioqueueum.hpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueIdle | ( | __in BOOLEAN | CancelQueueRequests, |
__in_opt PFN_WDF_IO_QUEUE_STATE | IdleComplete, | ||
__in_opt WDFCONTEXT | Context | ||
) |
Definition at line 3584 of file fxioqueue.cpp.
Referenced by QueueIdleSynchronously().
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueIdleSynchronously | ( | __in BOOLEAN | CancelRequests | ) |
Definition at line 3838 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::QueuePurge | ( | __in BOOLEAN | CancelQueueRequests, |
__in BOOLEAN | CancelDriverRequests, | ||
__in_opt PFN_WDF_IO_QUEUE_STATE | PurgeComplete, | ||
__in_opt WDFCONTEXT | Context | ||
) |
Definition at line 3894 of file fxioqueue.cpp.
Referenced by Dispose(), QueueDrain(), QueuePurgeSynchronously(), and StopProcessingForPower().
_Must_inspect_result_ NTSTATUS FxIoQueue::QueuePurgeSynchronously | ( | VOID | ) |
Definition at line 4107 of file fxioqueue.cpp.
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueRequest | ( | __in FxRequest * | pRequest | ) |
Definition at line 2245 of file fxioqueue.cpp.
Referenced by FxPkgGeneral::OnCreate().
_Must_inspect_result_ NTSTATUS FxIoQueue::QueueRequestFromForward | ( | __in FxRequest * | pRequest | ) |
Definition at line 2351 of file fxioqueue.cpp.
Referenced by FxPkgIo::EnqueueRequest(), ForwardRequestWorker(), and QueueDriverCreatedRequest().
Definition at line 3552 of file fxioqueue.cpp.