52 "This function can only be called by a WDF " 53 "extension driver, Driver 0x%p, %!STATUS!",
65 WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(
113 "MajorFunction %x is invalid, %!STATUS!",
128 "Couldn't create object PreprocessInfo, " 142 "Already assigned Minorfunctions, %!STATUS!",
155 "Couldn't create object MinorFunctions, " 181 WDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)(
254 WDFEXPORT(WdfCxDeviceInitSetRequestAttributes)(
305 WDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)(
355 "Invalid CxFileObjectConfig Size %d, expected %d",
387 "Invalid CxFileObjectConfig->AutoForwardCleanupClose value 0x%x, " 388 "expected WDF_TRI_STATE value",
410 "Out of range CxFileObjectConfig->FileObjectClass %d",
429 "Invalid CxFileObjectConfig->FileObjectClass %d",
_Must_inspect_result_ __in PWDFCXDEVICE_INIT __in PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS __in UCHAR __in_opt PUCHAR __in ULONG NumMinorFunctions
static __inline NTSTATUS FxValiateCx(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PFX_DRIVER_GLOBALS CxDriverGlobals)
#define STATUS_INSUFFICIENT_RESOURCES
#define STATUS_INVALID_PARAMETER
PFN_WDF_IO_IN_CALLER_CONTEXT IoInCallerContextCallback
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR MinorFunctions
__in PWDFCXDEVICE_INIT __in PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig
__in PWDFCXDEVICE_INIT __in PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
WDFCX_FILEOBJECT_CONFIG Callbacks
#define STATUS_INVALID_DEVICE_REQUEST
_Must_inspect_result_ __drv_maxIRQL(DISPATCH_LEVEL) WDFAPI NTSTATUS WDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)(__in PWDF_DRIVER_GLOBALS DriverGlobals
CxFileObjectInit FileObject
_In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
__in PWDFCXDEVICE_INIT __in PWDF_OBJECT_ATTRIBUTES RequestAttributes
ASSERT(CxDeviceInit->PreprocessInfo->ClassExtension)
NTSTATUS(STDCALL * PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS)(_In_ WDFDEVICE Device, _Inout_ PIRP Irp, _In_ PVOID DispatchContext)
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
PFX_DRIVER_GLOBALS cxDriverGlobals
FxIrpPreprocessInfo * PreprocessInfo
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
BOOLEAN __inline FxIsFileObjectOptional(__in WDF_FILEOBJECT_CLASS FileObjectClass)
static _Must_inspect_result_ PWDFCXDEVICE_INIT _AllocateCxDeviceInit(__in PWDFDEVICE_INIT DeviceInit)
#define NT_SUCCESS(StatCode)
PFX_DRIVER_GLOBALS CxDriverGlobals
WDF_FILEOBJECT_CLASS __inline FxFileObjectClassNormalize(__in WDF_FILEOBJECT_CLASS FileObjectClass)
cxDeviceInit CxDriverGlobals
WDF_FILEOBJECT_CLASS normalizedFileClass
_Must_inspect_result_ __inline BOOLEAN FxIsClassExtension(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PFX_DRIVER_GLOBALS ExtDriverGlobals)
PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDevicePreprocess
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
PFX_DRIVER_GLOBALS ClientDriverGlobals
#define _Must_inspect_result_
#define TRACE_LEVEL_ERROR
WDF_TRI_STATE AutoForwardCleanupClose
WDF_OBJECT_ATTRIBUTES RequestAttributes
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR _In_ ULONG NumMinorFunctions
PFX_DRIVER_GLOBALS fxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ __in PWDFCXDEVICE_INIT __in PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess
_Must_inspect_result_ __in PWDFDEVICE_INIT DeviceInit
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
FxPointerNotNull(cxDriverGlobals, CxDeviceInit)
_Must_inspect_result_ __in PWDFCXDEVICE_INIT __in PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS __in UCHAR __drv_when(NumMinorFunctions > 0, __in_bcount(NumMinorFunctions)) __drv_when(NumMinorFunctions
Info Dispatch[IRP_MJ_MAXIMUM_FUNCTION+1]
#define RtlCopyMemory(Destination, Source, Length)
_In_ PWDFDEVICE_INIT DeviceInit
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
WDF_FILEOBJECT_CLASS Class
PWDFCXDEVICE_INIT cxDeviceInit
_Must_inspect_result_ __in PWDFCXDEVICE_INIT CxDeviceInit
EVT_WDF_IO_IN_CALLER_CONTEXT * PFN_WDF_IO_IN_CALLER_CONTEXT
__in PWDFCXDEVICE_INIT __in PWDFCX_FILEOBJECT_CONFIG __in_opt PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
FxVerifierDbgBreakPoint(pFxDriverGlobals)
_Must_inspect_result_ __in PWDFCXDEVICE_INIT __in PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS __in UCHAR MajorFunction
WDF_OBJECT_ATTRIBUTES Attributes