52#define ROSWDFNOTIMPLEMENTED (DbgPrint("(%s:%d) ReactOS KMDF: %s not implemented\n", __RELFILE__, __LINE__, __FUNCTION__))
61class 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)
575FxPoolAllocateWithTag(
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;
#define InterlockedIncrement
#define InterlockedDecrement
CLIPBOARD_GLOBALS Globals
#define RtlCompareMemory(s1, s2, l)
enum FxVerifierDownlevelOption FxVerifierDownLevelOption
@ FxMachineSleepStatesMax
void FxVerifierLockDestroy(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
FxVerifierDownlevelOption
struct _FX_DRIVER_GLOBALS FX_DRIVER_GLOBALS
BOOLEAN IsWindowsVerifierOn(_In_ MdDriverObject DriverObject)
_Must_inspect_result_ NTSTATUS FxInitialize(__inout PFX_DRIVER_GLOBALS FxDriverGlobals, __in MdDriverObject DriverObject, __in PCUNICODE_STRING RegistryPath, __in_opt PWDF_DRIVER_CONFIG DriverConfig)
VOID FxLibraryGlobalsDecommission(VOID)
_Must_inspect_result_ __inline BOOLEAN FxIsClassExtension(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PFX_DRIVER_GLOBALS ExtDriverGlobals)
_Must_inspect_result_ NTSTATUS FxLibraryGlobalsCommission(VOID)
VOID FxFreeAllocatedMdlsDebugInfo(__in FxDriverGlobalsDebugExtension *DebugExtension)
_Must_inspect_result_ BOOLEAN FxVerifyObjectTypeInTable(__in USHORT ObjectType)
VOID FxFlushQueuedDpcs(VOID)
__inline _Must_inspect_result_ BOOLEAN IsOsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
__inline ULONG FxRandom(__inout PULONG RandomSeed)
_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)
VOID LockVerifierSection(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PCUNICODE_STRING RegistryPath)
VOID UnlockVerifierSection(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals)
struct _FX_DRIVER_GLOBALS * PFX_DRIVER_GLOBALS
void FxVerifierLockInitialize(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
struct _FX_TELEMETRY_CONTEXT * PFX_TELEMETRY_CONTEXT
__inline size_t FxSizeTMax(__in size_t A, __in size_t B)
NTSTATUS(* PFN_WMI_TRACE_MESSAGE_VA)(__in TRACEHANDLE LoggerHandle, __in ULONG MessageFlags, __in LPGUID MessageGuid, __in USHORT MessageNumber, __in va_list MessageArgList)
_Must_inspect_result_ BOOLEAN FxVerifierGetTrackReferences(__in FxObjectDebugInfo *DebugInfo, __in WDFTYPE ObjectType)
struct _FX_OBJECT_INFO FX_OBJECT_INFO
struct _FX_OBJECT_INFO * PFX_OBJECT_INFO
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
@ FxTrackPowerRefsAndStack
PCSTR FxObjectTypeToHandleName(__in WDFTYPE ObjectType)
VOID FxCheckAssumptions(VOID)
__inline LONG FxInterlockedIncrementFloor(__inout LONG volatile *Target, __in LONG Floor)
@ WaitSignalBreakUnderDebugger
@ WaitSignalBreakUnderVerifier
struct _FX_TELEMETRY_CONTEXT FX_TELEMETRY_CONTEXT
VOID FxDestroy(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
_Must_inspect_result_ BOOLEAN __inline FxIsEqualGuid(__in CONST GUID *Lhs, __in CONST GUID *Rhs)
FxLibraryGlobalsType FxLibraryGlobals
struct _WDF_DRIVER_CONFIG * PWDF_DRIVER_CONFIG
__inline LONG FxInterlockedIncrementGTZero(__inout LONG volatile *Target)
@ FxObjectDebugTrackReferences
__inline size_t FxSizeTMin(__in size_t A, __in size_t B)
VOID(STDCALL * PFN_POX_ACTIVATE_COMPONENT)(__in POHANDLE Handle, __in ULONG Component, __in ULONG Flags)
VOID(STDCALL * PFN_POX_COMPLETE_IDLE_CONDITION)(__in POHANDLE Handle, __in ULONG Component)
VOID(STDCALL * PFN_VF_CHECK_NX_POOL_TYPE)(_In_ POOL_TYPE PoolType, _In_ PVOID CallingAddress, _In_ ULONG PoolTag)
NTSTATUS(STDCALL * PFN_IO_DISCONNECT_INTERRUPT_EX)(__in PIO_DISCONNECT_INTERRUPT_PARAMETERS Parameters)
VOID(STDCALL * PFN_POX_IDLE_COMPONENT)(__in POHANDLE Handle, __in ULONG Component, __in ULONG Flags)
VOID(STDCALL * PFN_IO_REPORT_INTERRUPT_ACTIVE)(_In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters)
VOID(STDCALL * PFN_IO_REPORT_INTERRUPT_INACTIVE)(_In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters)
NTSTATUS(STDCALL * PFN_IO_CONNECT_INTERRUPT_EX)(__inout PIO_CONNECT_INTERRUPT_PARAMETERS Parameters)
VOID(STDCALL * PFN_POX_UNREGISTER_DEVICE)(__in POHANDLE Handle)
VOID(STDCALL * PFN_POX_COMPLETE_IDLE_STATE)(__in POHANDLE Handle, __in ULONG Component)
NTSTATUS(STDCALL * PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX)(__in PVOID NotificationEntry)
VOID(STDCALL * PFN_KE_SET_TARGET_PROCESSOR_DPC)(__in PRKDPC Dpc, __in CCHAR Number)
VOID(STDCALL * PFN_POX_SET_DEVICE_IDLE_TIMEOUT)(__in POHANDLE Handle, __in ULONGLONG IdleTimeout)
VOID(STDCALL * PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED)(__in POHANDLE Handle)
NTSTATUS(STDCALL * PFN_POX_REGISTER_DEVICE)(__in MdDeviceObject Pdo, __in PPO_FX_DEVICE PoxDevice, __out POHANDLE *Handle)
VOID(STDCALL * PFN_POX_REPORT_DEVICE_POWERED_ON)(__in POHANDLE Handle)
KAFFINITY(STDCALL * PFN_KE_QUERY_ACTIVE_PROCESSORS)(VOID)
VOID(STDCALL * PFN_POX_START_DEVICE_POWER_MANAGEMENT)(__in POHANDLE Handle)
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)
#define InterlockedCompareExchange
BOOLEAN(STDCALL * PFN_KE_SET_COALESCABLE_TIMER)(__inout PKTIMER Timer, __in LARGE_INTEGER DueTime, __in ULONG Period, __in ULONG TolerableDelay, __in_opt PKDPC Dpc)
#define _Must_inspect_result_
#define MEMORY_ALLOCATION_ALIGNMENT
#define UNREFERENCED_PARAMETER(P)
FxTrackPowerOption TrackPower
FxAllocatedMdls AllocatedMdls
MxLock AllocatedTagTrackersLock
KSPIN_LOCK AllocatedMdlsLock
FxObjectDebugInfo * ObjectDebugInfo
LIST_ENTRY AllocatedTagTrackersListHead
FX_DRIVER_TRACKER_CACHE_AWARE DriverTracker
PDEVICE_OBJECT LibraryDeviceObject
PFN_KE_QUERY_ACTIVE_PROCESSORS KeQueryActiveProcessors
PFN_IO_REPORT_INTERRUPT_INACTIVE IoReportInterruptInactive
PVOID VerifierSectionHandle
PFN_POX_REGISTER_DEVICE PoxRegisterDevice
PFN_KE_SET_TARGET_PROCESSOR_DPC KeSetTargetProcessorDpc
PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED PoxCompleteDevicePowerNotRequired
PFN_POX_START_DEVICE_POWER_MANAGEMENT PoxStartDevicePowerManagement
LIST_ENTRY FxDriverGlobalsList
PVOID DummyPerfTraceRoutines
PFN_IO_DISCONNECT_INTERRUPT_EX IoDisconnectInterruptEx
PFN_POX_COMPLETE_IDLE_STATE PoxCompleteIdleState
PFX_DUMP_DRIVER_INFO_ENTRY BugCheckDriverInfo
RTL_OSVERSIONINFOEXW OsVersionInfo
KBUGCHECK_REASON_CALLBACK_RECORD BugCheckCallbackRecord
PFN_POX_IDLE_COMPONENT PoxIdleComponent
PFN_KE_SET_COALESCABLE_TIMER KeSetCoalescableTimer
ULONG BugCheckDriverInfoCount
PFN_IO_CONNECT_INTERRUPT_EX IoConnectInterruptEx
PFN_POX_REPORT_DEVICE_POWERED_ON PoxReportDevicePoweredOn
PDRIVER_OBJECT DriverObject
PFN_VF_CHECK_NX_POOL_TYPE VfCheckNxPoolType
PFN_IO_REPORT_INTERRUPT_ACTIVE IoReportInterruptActive
PFN_POX_COMPLETE_IDLE_CONDITION PoxCompleteIdleCondition
BOOLEAN PassiveLevelInterruptSupport
PFX_DRIVER_GLOBALS BestDriverForDumpLog
BOOLEAN InternalTracingInitialized
PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX IoUnregisterPlugPlayNotificationEx
PFN_POX_ACTIVATE_COMPONENT PoxActivateComponent
ULONG BugCheckDriverInfoIndex
BOOLEAN ProcessorGroupSupport
PFN_POX_SET_DEVICE_IDLE_TIMEOUT PoxSetDeviceIdleTimeout
BOOLEAN MachineSleepStates[FxMachineSleepStatesMax]
BOOLEAN IsUserModeFramework
MxLockNoDynam FxDriverGlobalsListLock
PFN_POX_UNREGISTER_DEVICE PoxUnregisterDevice
volatile LONG VerifierSectionHandleRefCount
struct FxObjectDebugInfo::@4796::@4797 Bits
union FxObjectDebugInfo::@4796 u
_Must_inspect_result_ BOOLEAN IsCorrectVersionRegistered(_In_ PCUNICODE_STRING ServiceKeyName)
BOOLEAN IsObjectDebugOn(VOID)
ULONG RemoveLockOptionFlags
LONG WdfVerifierAllocateFailCount
BOOLEAN FxVerifierDbgBreakOnDeviceStateError
ULONG __inline AddRef(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
ULONG DbgWaitForWakeInterruptIsrTimeoutInSec
ULONG FxEnhancedVerifierOptions
BOOLEAN FxVerifyDownlevel
FxLibraryGlobalsType * LibraryGlobals
VOID SetVerifierState(__in BOOLEAN State)
PWDF_BIND_INFO WdfBindInfo
ULONG BugCheckDriverInfoIndex
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
BOOLEAN FxForceLogsInMiniDump
__inline _Must_inspect_result_ BOOLEAN IsDownlevelVerificationEnabled()
BOOLEAN FxVerifierDbgBreakOnError
KBUGCHECK_REASON_CALLBACK_RECORD BugCheckCallbackRecord
VOID RegisterClientVersion(_In_ PCUNICODE_STRING ServiceKeyName)
FxDriverGlobalsDebugExtension * DebugExtension
CWudfDriverGlobals * UfxDriverGlobals
PFX_TELEMETRY_CONTEXT TelemetryContext
DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) WDF_DRIVER_GLOBALS Public
_Must_inspect_result_ BOOLEAN IsDebuggerAttached(VOID)
ULONG FxVerifierDbgWaitForSignalTimeoutInSec
_Must_inspect_result_ BOOLEAN IsVerificationEnabled(__in ULONG Major, __in ULONG Minor, __in FxVerifierDownlevelOption DownLevel)
BOOLEAN FxRequestParentOptimizationOn
BOOLEAN FxTrackDriverForMiniDumpLog
VOID WaitForSignal(__in MxEvent *Event, __in PCSTR ReasonForWaiting, __in PVOID Handle, __in ULONG WarningTimeoutInSec, __in ULONG WaitSignalFlags)
ULONG __inline Release(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
BOOLEAN IsPoolTrackingOn(VOID)
volatile LONG DoOnceFlagsBitmap
#define CONTAINING_RECORD(address, type, field)
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PWDF_DRIVER_CONFIG DriverConfig
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_In_ ULONG _Out_opt_ PULONG RequiredLength
_In_ ULONG TraceInformationLength
enum _TRACE_INFORMATION_CLASS TRACE_INFORMATION_CLASS
_Must_inspect_result_ typedef _In_ ULONG _In_ ULONG MessageNumber