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;
PFN_WDF_IO_IN_CALLER_CONTEXT m_Method
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
__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)
FxIoQueue * m_DispatchTable[IRP_MJ_MAXIMUM_FUNCTION+1]
_Must_inspect_result_ NTSTATUS FlushAllQueuesByFileObject(__in MdFileObject FileObject)
_Must_inspect_result_ NTSTATUS VerifierFreeRequestToTestForwardProgess(__in FxRequest *Request)
__inline VOID RequestCompletedCallback(__in FxRequest *Request)
FxIoQueue * GetFirstIoQueueLocked(__in FxIoQueueNode *QueueBookmark, __in PVOID Tag)
FxIoQueue * GetDispatchQueue(_In_ UCHAR MajorFunction)
__inline CfxDevice * GetDevice(VOID)
_Must_inspect_result_ NTSTATUS ConfigureForwarding(__inout FxIoQueue *TargetQueue, __in WDF_REQUEST_TYPE RequestType)
_Must_inspect_result_ NTSTATUS ResumeProcessingForPower()
FX_DECLARE_VF_FUNCTION_P2(NTSTATUS, VerifyEnqueueRequestUpdateFlags, _In_ FxRequest *, _Inout_ SHORT *)
FxIoQueue * m_DefaultQueue
VOID ResetStateForRestart(VOID)
VOID RemoveIoQueue(__inout FxIoQueue *IoQueue)
_Must_inspect_result_ NTSTATUS __fastcall DispatchStep1(__inout MdIrp Irp, __in WDFCONTEXT DispatchContext)
_Must_inspect_result_ NTSTATUS EnqueueRequest(__in CfxDevice *Device, __inout FxRequest *pRequest)
FX_DECLARE_VF_FUNCTION_P1(NTSTATUS, VerifyDispatchContext, _In_ WDFCONTEXT)
BOOLEAN m_QueuesAreShuttingDown
VOID AddIoQueue(__inout FxIoQueue *IoQueue)
__inline FxIoInCallerContext * GetIoInCallerContextCallback(__in_opt FxCxDeviceInfo *CxDeviceInfo)
_Must_inspect_result_ NTSTATUS __fastcall DispatchStep2(__inout MdIrp Irp, __in_opt FxIoInCallerContext *IoInCallerCtx, __in_opt FxIoQueue *Queue)
__inline BOOLEAN IsFilter(VOID)
FxIoInCallerContext m_InCallerContextCallback
FX_DECLARE_VF_FUNCTION_P2(VOID, VerifyEnqueueRequestRestoreFlags, _In_ FxRequest *, _In_ SHORT)
NTSTATUS DispathToInCallerContextCallback(__in FxIoInCallerContext *InCallerContextInfo, __in FxRequest *Request, __inout MdIrp Irp)
__inline FxIoQueue * GetDefaultQueue(VOID)
__inline BOOLEAN IsTopLevelQueue(__in FxIoQueue *Queue)
LIST_ENTRY m_IoQueueListHead
FxIoQueue * GetNextIoQueueLocked(__in FxIoQueueNode *QueueBookmark, __in PVOID Tag)
VOID RemoveQueueReferences(__inout FxIoQueue *pQueue)
_Must_inspect_result_ NTSTATUS StopProcessingForPower(__in FxIoStopProcessingForPowerAction Action)
_Must_inspect_result_ NTSTATUS ConfigureDynamicDispatching(__in UCHAR MajorFunction, __in_opt FxCxDeviceInfo *CxDeviceInfo, __in PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch, __in_opt WDFCONTEXT DriverContext)
VOID GetIoQueueListLocked(__in PSINGLE_LIST_ENTRY SListHead, __inout FxIoIteratorList ListType)
LIST_ENTRY m_DynamicDispatchInfoListHead
_Must_inspect_result_ NTSTATUS InitializeDefaultQueue(__in CfxDevice *Device, __inout FxIoQueue *Queue)
return pDevice GetDriver() -> GetHandle()
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch
@ FxIoQueueIteratorListPowerOn
@ FxIoQueueIteratorListInvalid
@ FxIoQueueIteratorListPowerOff
FxIoStopProcessingForPowerAction
PFILE_OBJECT MdFileObject
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
EVT_WDFDEVICE_WDM_IRP_DISPATCH * PFN_WDFDEVICE_WDM_IRP_DISPATCH
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
EVT_WDF_IO_IN_CALLER_CONTEXT * PFN_WDF_IO_IN_CALLER_CONTEXT
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES QueueAttributes
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH * Dispatch
#define IRP_MJ_MAXIMUM_FUNCTION