39 #define FX_IN_DISPATCH_CALLBACK 0x00000001 47 #define IO_ITERATOR_FLUSH_TAG (PVOID) 'sulf' 48 #define IO_ITERATOR_POWER_TAG (PVOID) 'ewop' 138 VerifyDispatchContext,
203 VerifyEnqueueRequestUpdateFlags,
211 VerifyEnqueueRequestRestoreFlags,
400 if (CxDeviceInfo !=
NULL) {
401 return &CxDeviceInfo->IoInCallerContextCallback;
VOID ResetStateForRestart(VOID)
NTSTATUS DispathToInCallerContextCallback(__in FxIoInCallerContext *InCallerContextInfo, __in FxRequest *Request, __inout MdIrp Irp)
_Must_inspect_result_ NTSTATUS ResumeProcessingForPower()
__inline BOOLEAN IsFilter(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES QueueAttributes
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
LIST_ENTRY m_DynamicDispatchInfoListHead
VOID RemoveQueueReferences(__inout FxIoQueue *pQueue)
FxIoInCallerContext m_InCallerContextCallback
#define UNREFERENCED_PARAMETER(P)
FxIoQueue * GetFirstIoQueueLocked(__in FxIoQueueNode *QueueBookmark, __in PVOID Tag)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
FX_DECLARE_VF_FUNCTION_P1(NTSTATUS, VerifyDispatchContext, _In_ WDFCONTEXT)
#define IRP_MJ_MAXIMUM_FUNCTION
FxIoQueue * m_DispatchTable[IRP_MJ_MAXIMUM_FUNCTION+1]
PFILE_OBJECT MdFileObject
FxIoQueue * GetNextIoQueueLocked(__in FxIoQueueNode *QueueBookmark, __in PVOID Tag)
_Must_inspect_result_ NTSTATUS __fastcall DispatchStep2(__inout MdIrp Irp, __in_opt FxIoInCallerContext *IoInCallerCtx, __in_opt FxIoQueue *Queue)
EVT_WDFDEVICE_WDM_IRP_DISPATCH * PFN_WDFDEVICE_WDM_IRP_DISPATCH
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
_Must_inspect_result_ NTSTATUS EnqueueRequest(__in CfxDevice *Device, __inout FxRequest *pRequest)
VOID GetIoQueueListLocked(__in PSINGLE_LIST_ENTRY SListHead, __inout FxIoIteratorList ListType)
FxPkgIo(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in CfxDevice *Device)
BOOLEAN m_QueuesAreShuttingDown
__inline VOID RequestCompletedCallback(__in FxRequest *Request)
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
FxIoQueue * m_DefaultQueue
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch
PFN_WDF_IO_IN_CALLER_CONTEXT m_Method
FxIoStopProcessingForPowerAction
VOID AddIoQueue(__inout FxIoQueue *IoQueue)
_Must_inspect_result_ NTSTATUS VerifierFreeRequestToTestForwardProgess(__in FxRequest *Request)
_Must_inspect_result_ NTSTATUS __fastcall DispatchStep1(__inout MdIrp Irp, __in WDFCONTEXT DispatchContext)
FxIoQueue * GetDispatchQueue(_In_ UCHAR MajorFunction)
_Must_inspect_result_ NTSTATUS InitializeDefaultQueue(__in CfxDevice *Device, __inout FxIoQueue *Queue)
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
__inline VOID SetIoInCallerContextCallback(__inout PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext)
_Must_inspect_result_ NTSTATUS CreateQueue(__in PWDF_IO_QUEUE_CONFIG Config, __in PWDF_OBJECT_ATTRIBUTES QueueAttributes, __in_opt FxDriver *Caller, __deref_out FxIoQueue **ppQueue)
_Must_inspect_result_ NTSTATUS FlushAllQueuesByFileObject(__in MdFileObject FileObject)
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
_Must_inspect_result_ NTSTATUS ConfigureForwarding(__inout FxIoQueue *TargetQueue, __in WDF_REQUEST_TYPE RequestType)
FX_DECLARE_VF_FUNCTION_P2(NTSTATUS, VerifyEnqueueRequestUpdateFlags, _In_ FxRequest *, _Inout_ SHORT *)
virtual _Must_inspect_result_ NTSTATUS Dispatch(__inout MdIrp Irp)
__inline FxIoQueue * GetDefaultQueue(VOID)
LIST_ENTRY m_IoQueueListHead
VOID RemoveIoQueue(__inout FxIoQueue *IoQueue)
EVT_WDF_IO_IN_CALLER_CONTEXT * PFN_WDF_IO_IN_CALLER_CONTEXT
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
__inline FxIoInCallerContext * GetIoInCallerContextCallback(__in_opt FxCxDeviceInfo *CxDeviceInfo)
_Must_inspect_result_ NTSTATUS StopProcessingForPower(__in FxIoStopProcessingForPowerAction Action)
__inline CfxDevice * GetDevice(VOID)
__inline BOOLEAN IsTopLevelQueue(__in FxIoQueue *Queue)
FxDriver * GetDriver(VOID)
_Must_inspect_result_ NTSTATUS ConfigureDynamicDispatching(__in UCHAR MajorFunction, __in_opt FxCxDeviceInfo *CxDeviceInfo, __in PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch, __in_opt WDFCONTEXT DriverContext)