52 #define ROSWDFNOTIMPLEMENTED (DbgPrint("(%s:%d) ReactOS KMDF: %s not implemented\n", __RELFILE__, __LINE__, __FUNCTION__)) 61 class CWudfDriverGlobals;
123 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 502 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 536 #if (FX_CORE_MODE==FX_CORE_USER_MODE) 575 FxPoolAllocateWithTag(
606 #if ((FX_CORE_MODE)==(FX_CORE_KERNEL_MODE)) 709 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 776 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 806 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 838 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 906 #define FX_INTERNAL_OBJECT_INFO_ENTRY(_obj, _type) \ 907 { #_obj, NULL, sizeof(_obj), _type, } 923 #define FX_EXTERNAL_OBJECT_INFO_ENTRY(_obj, _type, _handletype) \ 925 (const CHAR*) (_handletype) #_handletype, \ 970 return (FxDriverGlobals == ExtDriverGlobals) ?
FALSE :
TRUE;
992 return A >
B ?
A :
B;
1002 return A <
B ?
A :
B;
1018 if (currentVal <= Floor) {
1022 startVal = currentVal;
1034 }
while (startVal != currentVal);
1074 *RandomSeed = *RandomSeed * 1103515245 + 12345;
1075 return (
ULONG)(*RandomSeed / 65536) % 32768;
1107 #endif // _FXGLOBALS_H struct _FX_OBJECT_INFO FX_OBJECT_INFO
PFN_KE_SET_COALESCABLE_TIMER KeSetCoalescableTimer
struct FxObjectDebugInfo::@4546::@4547 Bits
PFN_POX_UNREGISTER_DEVICE PoxUnregisterDevice
BOOLEAN FxTrackDriverForMiniDumpLog
_Must_inspect_result_ BOOLEAN IsCorrectVersionRegistered(_In_ PCUNICODE_STRING ServiceKeyName)
enum FxVerifierDownlevelOption FxVerifierDownLevelOption
enum _TRACE_INFORMATION_CLASS TRACE_INFORMATION_CLASS
#define _Must_inspect_result_
FxObjectDebugInfo * ObjectDebugInfo
VOID FxCheckAssumptions(VOID)
VOID(* PFN_POX_COMPLETE_IDLE_STATE)(__in POHANDLE Handle, __in ULONG Component)
BOOLEAN FxRequestParentOptimizationOn
PFX_DRIVER_GLOBALS BestDriverForDumpLog
PDEVICE_OBJECT LibraryDeviceObject
KAFFINITY(* PFN_KE_QUERY_ACTIVE_PROCESSORS)(VOID)
BOOLEAN InternalTracingInitialized
IN BOOLEAN OUT PSTR Buffer
#define UNREFERENCED_PARAMETER(P)
PFN_POX_REGISTER_DEVICE PoxRegisterDevice
VOID SetVerifierState(__in BOOLEAN State)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
VOID(* PFN_VF_CHECK_NX_POOL_TYPE)(_In_ POOL_TYPE PoolType, _In_ PVOID CallingAddress, _In_ ULONG PoolTag)
PCSTR FxObjectTypeToHandleName(__in WDFTYPE ObjectType)
VOID FxFreeAllocatedMdlsDebugInfo(__in FxDriverGlobalsDebugExtension *DebugExtension)
struct _WDF_DRIVER_CONFIG * PWDF_DRIVER_CONFIG
LONG WdfVerifierAllocateFailCount
_In_ ULONG _In_ ULONG State
VOID FxLibraryGlobalsDecommission(VOID)
_Must_inspect_result_ BOOLEAN __inline FxIsEqualGuid(__in CONST GUID *Lhs, __in CONST GUID *Rhs)
#define InterlockedCompareExchange
ULONG DbgWaitForWakeInterruptIsrTimeoutInSec
IN PVOID IN PVOID IN USHORT IN USHORT Size
BOOLEAN IsUserModeFramework
PFX_DUMP_DRIVER_INFO_ENTRY BugCheckDriverInfo
FxDriverGlobalsDebugExtension * DebugExtension
VOID WaitForSignal(__in MxEvent *Event, __in PCSTR ReasonForWaiting, __in PVOID Handle, __in ULONG WarningTimeoutInSec, __in ULONG WaitSignalFlags)
ULONG BugCheckDriverInfoCount
RTL_OSVERSIONINFOEXW OsVersionInfo
LIST_ENTRY AllocatedTagTrackersListHead
PFN_POX_SET_DEVICE_IDLE_TIMEOUT PoxSetDeviceIdleTimeout
struct _FX_TELEMETRY_CONTEXT * PFX_TELEMETRY_CONTEXT
PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED PoxCompleteDevicePowerNotRequired
BOOLEAN PassiveLevelInterruptSupport
FxTrackPowerOption TrackPower
struct _FX_DRIVER_GLOBALS * PFX_DRIVER_GLOBALS
KSPIN_LOCK AllocatedMdlsLock
NTSTATUS(* PFN_IO_DISCONNECT_INTERRUPT_EX)(__in PIO_DISCONNECT_INTERRUPT_PARAMETERS Parameters)
FX_DRIVER_TRACKER_CACHE_AWARE DriverTracker
BOOLEAN IsPoolTrackingOn(VOID)
CLIPBOARD_GLOBALS Globals
PVOID VerifierSectionHandle
NTSTATUS(* PFN_POX_REGISTER_DEVICE)(__in MdDeviceObject Pdo, __in PPO_FX_DEVICE PoxDevice, __out POHANDLE *Handle)
PFN_POX_ACTIVATE_COMPONENT PoxActivateComponent
PFN_POX_COMPLETE_IDLE_STATE PoxCompleteIdleState
__inline _Must_inspect_result_ BOOLEAN IsDownlevelVerificationEnabled()
PFN_POX_REPORT_DEVICE_POWERED_ON PoxReportDevicePoweredOn
ULONG FxEnhancedVerifierOptions
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
MxLock AllocatedTagTrackersLock
struct _FX_DRIVER_GLOBALS FX_DRIVER_GLOBALS
KBUGCHECK_REASON_CALLBACK_RECORD BugCheckCallbackRecord
_Must_inspect_result_ BOOLEAN FxVerifierGetTrackReferences(__in FxObjectDebugInfo *DebugInfo, __in WDFTYPE ObjectType)
VOID FxFlushQueuedDpcs(VOID)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX IoUnregisterPlugPlayNotificationEx
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
PDRIVER_OBJECT DriverObject
void FxVerifierLockInitialize(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
__inline size_t FxSizeTMax(__in size_t A, __in size_t B)
BOOLEAN FxVerifierDbgBreakOnDeviceStateError
VOID RegisterClientVersion(_In_ PCUNICODE_STRING ServiceKeyName)
BOOLEAN MachineSleepStates[FxMachineSleepStatesMax]
NTSTATUS(* PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX)(__in PVOID NotificationEntry)
struct _FX_TELEMETRY_CONTEXT FX_TELEMETRY_CONTEXT
PWDF_BIND_INFO WdfBindInfo
FxAllocatedMdls AllocatedMdls
ULONG __inline Release(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
ULONG RemoveLockOptionFlags
PVOID FxPoolAllocator(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PFX_POOL Pool, __in POOL_TYPE Type, __in SIZE_T Size, __in ULONG Tag, __in PVOID CallersAddress)
PFN_KE_SET_TARGET_PROCESSOR_DPC KeSetTargetProcessorDpc
struct _FX_OBJECT_INFO * PFX_OBJECT_INFO
_Must_inspect_result_ BOOLEAN IsVerificationEnabled(__in ULONG Major, __in ULONG Minor, __in FxVerifierDownlevelOption DownLevel)
_Must_inspect_result_ __inline BOOLEAN FxIsClassExtension(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PFX_DRIVER_GLOBALS ExtDriverGlobals)
PFN_VF_CHECK_NX_POOL_TYPE VfCheckNxPoolType
_Must_inspect_result_ BOOLEAN FxVerifyObjectTypeInTable(__in USHORT ObjectType)
BOOLEAN ProcessorGroupSupport
PVOID DummyPerfTraceRoutines
BOOLEAN(* PFN_KE_SET_COALESCABLE_TIMER)(__inout PKTIMER Timer, __in LARGE_INTEGER DueTime, __in ULONG Period, __in ULONG TolerableDelay, __in_opt PKDPC Dpc)
__inline LONG FxInterlockedIncrementFloor(__inout LONG volatile *Target, __in LONG Floor)
#define InterlockedDecrement
FxLibraryGlobalsType FxLibraryGlobals
VOID(* PFN_IO_REPORT_INTERRUPT_ACTIVE)(_In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters)
_Must_inspect_result_ NTSTATUS FxLibraryGlobalsCommission(VOID)
BOOLEAN FxVerifierDbgBreakOnError
VOID(* PFN_POX_IDLE_COMPONENT)(__in POHANDLE Handle, __in ULONG Component, __in ULONG Flags)
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
__inline size_t FxSizeTMin(__in size_t A, __in size_t B)
ULONG BugCheckDriverInfoIndex
VOID(* PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED)(__in POHANDLE Handle)
VOID(* PFN_POX_COMPLETE_IDLE_CONDITION)(__in POHANDLE Handle, __in ULONG Component)
BOOLEAN IsObjectDebugOn(VOID)
_Must_inspect_result_ BOOLEAN IsDebuggerAttached(VOID)
VOID(* PFN_POX_START_DEVICE_POWER_MANAGEMENT)(__in POHANDLE Handle)
VOID LockVerifierSection(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PCUNICODE_STRING RegistryPath)
VOID FxDestroy(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
#define InterlockedIncrement
__inline LONG FxInterlockedIncrementGTZero(__inout LONG volatile *Target)
PFX_TELEMETRY_CONTEXT TelemetryContext
ULONG FxVerifierDbgWaitForSignalTimeoutInSec
__inline _Must_inspect_result_ BOOLEAN IsOsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
FxLibraryGlobalsType * LibraryGlobals
PFN_IO_DISCONNECT_INTERRUPT_EX IoDisconnectInterruptEx
_Must_inspect_result_ typedef _In_ ULONG _In_ ULONG MessageNumber
_In_ ULONG _Out_opt_ PULONG RequiredLength
PFN_IO_REPORT_INTERRUPT_ACTIVE IoReportInterruptActive
_Must_inspect_result_ NTSTATUS FxInitialize(__inout PFX_DRIVER_GLOBALS FxDriverGlobals, __in MdDriverObject DriverObject, __in PCUNICODE_STRING RegistryPath, __in_opt PWDF_DRIVER_CONFIG DriverConfig)
NTSTATUS(* PFN_WMI_TRACE_MESSAGE_VA)(__in TRACEHANDLE LoggerHandle, __in ULONG MessageFlags, __in LPGUID MessageGuid, __in USHORT MessageNumber, __in va_list MessageArgList)
PFN_KE_QUERY_ACTIVE_PROCESSORS KeQueryActiveProcessors
union FxObjectDebugInfo::@4546 u
VOID(* PFN_POX_UNREGISTER_DEVICE)(__in POHANDLE Handle)
VOID(* PFN_IO_REPORT_INTERRUPT_INACTIVE)(_In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters)
BOOLEAN FxVerifyDownlevel
VOID(* PFN_POX_REPORT_DEVICE_POWERED_ON)(__in POHANDLE Handle)
void * _ReturnAddress(void)
KBUGCHECK_REASON_CALLBACK_RECORD BugCheckCallbackRecord
_Must_inspect_result_ __inline BOOLEAN FxIsPassiveLevelInterruptSupported(VOID)
NTSTATUS(* PFN_WMI_QUERY_TRACE_INFORMATION)(__in TRACE_INFORMATION_CLASS TraceInformationClass, __out PVOID TraceInformation, __in ULONG TraceInformationLength, __out_opt PULONG RequiredLength, __in_opt PVOID Buffer)
__bcount(Size) PVOID FORCEINLINE FxPoolAllocate(__in PFX_DRIVER_GLOBALS Globals
volatile LONG VerifierSectionHandleRefCount
CWudfDriverGlobals * UfxDriverGlobals
BOOLEAN IsWindowsVerifierOn(_In_ MdDriverObject DriverObject)
PFN_IO_CONNECT_INTERRUPT_EX IoConnectInterruptEx
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) WDF_DRIVER_GLOBALS Public
VOID(* PFN_KE_SET_TARGET_PROCESSOR_DPC)(__in PRKDPC Dpc, __in CCHAR Number)
VOID(* PFN_POX_ACTIVATE_COMPONENT)(__in POHANDLE Handle, __in ULONG Component, __in ULONG Flags)
ULONG __inline AddRef(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
VOID UnlockVerifierSection(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals)
PFN_POX_IDLE_COMPONENT PoxIdleComponent
_In_ ULONG TraceInformationLength
#define MEMORY_ALLOCATION_ALIGNMENT
PFN_IO_REPORT_INTERRUPT_INACTIVE IoReportInterruptInactive
__inline ULONG FxRandom(__inout PULONG RandomSeed)
FxVerifierDownlevelOption
void FxVerifierLockDestroy(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
volatile LONG DoOnceFlagsBitmap
#define RtlCompareMemory(s1, s2, l)
NTSTATUS(* PFN_IO_CONNECT_INTERRUPT_EX)(__inout PIO_CONNECT_INTERRUPT_PARAMETERS Parameters)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PWDF_DRIVER_CONFIG DriverConfig
PFN_POX_COMPLETE_IDLE_CONDITION PoxCompleteIdleCondition
PFN_POX_START_DEVICE_POWER_MANAGEMENT PoxStartDevicePowerManagement
VOID(* PFN_POX_SET_DEVICE_IDLE_TIMEOUT)(__in POHANDLE Handle, __in ULONGLONG IdleTimeout)
ULONG BugCheckDriverInfoIndex
BOOLEAN FxForceLogsInMiniDump
LIST_ENTRY FxDriverGlobalsList
MxLockNoDynam FxDriverGlobalsListLock