ReactOS 0.4.15-dev-5664-g3bf4ef6
_FX_DRIVER_GLOBALS Struct Reference

#include <fxglobals.h>

Collaboration diagram for _FX_DRIVER_GLOBALS:

Public Member Functions

ULONG __inline AddRef (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
ULONG __inline Release (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
BOOLEAN IsPoolTrackingOn (VOID)
 
BOOLEAN IsObjectDebugOn (VOID)
 
VOID SetVerifierState (__in BOOLEAN State)
 
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo (__in ULONG Major, __in ULONG Minor)
 
_Must_inspect_result_ BOOLEAN IsCorrectVersionRegistered (_In_ PCUNICODE_STRING ServiceKeyName)
 
VOID RegisterClientVersion (_In_ PCUNICODE_STRING ServiceKeyName)
 
_Must_inspect_result_ BOOLEAN IsVerificationEnabled (__in ULONG Major, __in ULONG Minor, __in FxVerifierDownlevelOption DownLevel)
 
__inline _Must_inspect_result_ BOOLEAN IsDownlevelVerificationEnabled ()
 
VOID WaitForSignal (__in MxEvent *Event, __in PCSTR ReasonForWaiting, __in PVOID Handle, __in ULONG WarningTimeoutInSec, __in ULONG WaitSignalFlags)
 
_Must_inspect_result_ BOOLEAN IsDebuggerAttached (VOID)
 
 DECLSPEC_ALIGN (MEMORY_ALLOCATION_ALIGNMENT) WDF_DRIVER_GLOBALS Public
 

Public Attributes

LIST_ENTRY Linkage
 
LONG Refcnt
 
MxEvent DestroyEvent
 
ULONG_PTR WdfHandleMask
 
LONG WdfVerifierAllocateFailCount
 
ULONG Tag
 
FxDriverDriver
 
FxDriverGlobalsDebugExtensionDebugExtension
 
FxLibraryGlobalsTypeLibraryGlobals
 
PVOID WdfLogHeader
 
FX_POOL FxPoolFrameworks
 
BOOLEAN FxPoolTrackingOn
 
MxLock ThreadTableLock
 
PLIST_ENTRY ThreadTable
 
PWDF_BIND_INFO WdfBindInfo
 
PVOID ImageAddress
 
ULONG ImageSize
 
BOOLEAN FxVerifierOn
 
BOOLEAN FxVerifyDownlevel
 
BOOLEAN FxVerifierDbgBreakOnError
 
BOOLEAN FxVerifierDbgBreakOnDeviceStateError
 
BOOLEAN FxVerifierHandle
 
BOOLEAN FxVerifierIO
 
BOOLEAN FxVerifierLock
 
BOOLEAN FxVerifyOn
 
BOOLEAN FxVerboseOn
 
BOOLEAN FxRequestParentOptimizationOn
 
BOOLEAN FxDsfOn
 
BOOLEAN FxForceLogsInMiniDump
 
BOOLEAN FxTrackDriverForMiniDumpLog
 
BOOLEAN IsUserModeDriver
 
ULONG RemoveLockOptionFlags
 
ULONG BugCheckDriverInfoIndex
 
KBUGCHECK_REASON_CALLBACK_RECORD BugCheckCallbackRecord
 
ULONG FxEnhancedVerifierOptions
 
ULONG FxVerifierDbgWaitForSignalTimeoutInSec
 
ULONG DbgWaitForWakeInterruptIsrTimeoutInSec
 
CWudfDriverGlobals * UfxDriverGlobals
 
PFX_TELEMETRY_CONTEXT TelemetryContext
 

Detailed Description

Definition at line 165 of file fxglobals.h.

Member Function Documentation

◆ AddRef()

ULONG __inline _FX_DRIVER_GLOBALS::AddRef ( __in_opt PVOID  Tag = NULL,
__in LONG  Line = 0,
__in_opt PSTR  File = NULL 
)
inline

Definition at line 169 of file fxglobals.h.

174 {
175 ULONG c;
176
180
182
183 //
184 // Catch the transition from 0 to 1. Since the RefCount starts off at 1,
185 // we should never have to increment to get to this value.
186 //
187 ASSERT(c > 1);
188 return c;
189 }
#define InterlockedIncrement
Definition: armddk.h:53
Definition: File.h:16
const GLubyte * c
Definition: glext.h:8905
#define c
Definition: ke_i.h:80
unsigned int ULONG
Definition: retypes.h:1
#define ASSERT(a)
Definition: mode.c:44
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
Definition: ncftp.h:79
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065

◆ DECLSPEC_ALIGN()

_FX_DRIVER_GLOBALS::DECLSPEC_ALIGN ( MEMORY_ALLOCATION_ALIGNMENT  )

◆ IsCorrectVersionRegistered()

_Must_inspect_result_ BOOLEAN FX_DRIVER_GLOBALS::IsCorrectVersionRegistered ( _In_ PCUNICODE_STRING  ServiceKeyName)

Definition at line 112 of file globalskm.cpp.

115{
116 FxAutoRegKey hDriver, hWdf;
117 DECLARE_CONST_UNICODE_STRING(parametersPath, L"Parameters\\Wdf");
120 ULONG registeredMajor = 0, registeredMinor = 0;
122
123 status = FxRegKey::_OpenKey(NULL,
124 ServiceKeyName,
125 &hDriver.m_Key,
127 );
128 if (!NT_SUCCESS(status)) {
129 return FALSE;
130 }
131
132 status = FxRegKey::_OpenKey(hDriver.m_Key,
133 &parametersPath,
134 &hWdf.m_Key,
136 );
137 if (!NT_SUCCESS(status)) {
138 return FALSE;
139 }
140
141 status = FxRegKey::_QueryULong(hWdf.m_Key,
142 &wdfMajorValue,
143 &registeredMajor);
144
145 if (!NT_SUCCESS(status) || registeredMajor != WdfBindInfo->Version.Major) {
146 return FALSE;
147 }
148
149 status = FxRegKey::_QueryULong(hWdf.m_Key,
150 &wdfMinorValue,
151 &registeredMinor);
152
153 if (!NT_SUCCESS(status) || registeredMinor != WdfBindInfo->Version.Minor){
154 return FALSE;
155 }
156 else {
157 return TRUE;
158 }
159}
LONG NTSTATUS
Definition: precomp.h:26
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define WDF_MAJOR_VERSION_VALUE
Definition: globalskm.cpp:107
#define WDF_MINOR_VERSION_VALUE
Definition: globalskm.cpp:108
#define KEY_READ
Definition: nt_native.h:1023
#define L(x)
Definition: ntvdm.h:50
PWDF_BIND_INFO WdfBindInfo
Definition: fxglobals.h:405
WDF_VERSION Version
Definition: fxldr.h:133
WDF_MAJOR_VERSION Major
Definition: fxldr.h:122
WDF_MINOR_VERSION Minor
Definition: fxldr.h:123
Definition: ps.c:97
#define DECLARE_CONST_UNICODE_STRING(_variablename, _string)
Definition: wdfcore.h:161
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3557

◆ IsDebuggerAttached()

_Must_inspect_result_ BOOLEAN FX_DRIVER_GLOBALS::IsDebuggerAttached ( VOID  )

Definition at line 250 of file globalskm.cpp.

253{
255}
BOOLEAN NTAPI KdRefreshDebuggerNotPresent(VOID)
Definition: kdapi.c:2319

Referenced by WaitForSignal().

◆ IsDownlevelVerificationEnabled()

__inline _Must_inspect_result_ BOOLEAN _FX_DRIVER_GLOBALS::IsDownlevelVerificationEnabled ( )
inline

Definition at line 314 of file fxglobals.h.

316 {
317 return FxVerifyDownlevel;
318 }
BOOLEAN FxVerifyDownlevel
Definition: fxglobals.h:426

Referenced by if().

◆ IsObjectDebugOn()

BOOLEAN _FX_DRIVER_GLOBALS::IsObjectDebugOn ( VOID  )
inline

Definition at line 223 of file fxglobals.h.

226 {
227 if (FxVerifierHandle) {
228 return TRUE;
229 }
230 else {
231 return FALSE;
232 }
233 }
BOOLEAN FxVerifierHandle
Definition: fxglobals.h:441

◆ IsPoolTrackingOn()

BOOLEAN _FX_DRIVER_GLOBALS::IsPoolTrackingOn ( VOID  )
inline

◆ IsVerificationEnabled()

_Must_inspect_result_ BOOLEAN _FX_DRIVER_GLOBALS::IsVerificationEnabled ( __in ULONG  Major,
__in ULONG  Minor,
__in FxVerifierDownlevelOption  DownLevel 
)
inline

Definition at line 286 of file fxglobals.h.

291 {
292 //
293 // those verifier checks that are restricted to specific version can be
294 // applied to previous version drivers if driver opts-in by setting a
295 // reg key (whose value is stored in FxVerifyDownlevel)
296 //
297 if (FxVerifierOn &&
299 (DownLevel ? FxVerifyDownlevel : FALSE))) {
300 return TRUE;
301 }
302 else {
303 return FALSE;
304 }
305 }
BOOLEAN FxVerifierOn
Definition: fxglobals.h:420
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
Definition: globalskm.cpp:92
_Out_opt_ PULONG Minor
Definition: cmfuncs.h:44

Referenced by FxPkgGeneral::AcquireRemoveLockForClose(), FxDmaTransactionBase::Dispose(), FxIoTarget::GotoStartState(), FxUsbPipe::GotoStopState(), FxPowerIdleMachine::IoDecrement(), FxDmaTransactionBase::ReleaseForReuse(), FxRequest::Reuse(), and FxDmaSystemTransaction::StopTransfer().

◆ IsVersionGreaterThanOrEqualTo()

◆ RegisterClientVersion()

VOID FX_DRIVER_GLOBALS::RegisterClientVersion ( _In_ PCUNICODE_STRING  ServiceKeyName)

Definition at line 162 of file globalskm.cpp.

165{
166 FxAutoRegKey hDriver, hParameters, hWdf;
167 DECLARE_CONST_UNICODE_STRING(parametersPart, L"Parameters");
168 DECLARE_CONST_UNICODE_STRING(wdfPart, L"Wdf");
169 //
170 // Not defined with the macro because ZwSetValue doesn't use PCUNICODE_STRING
171 //
172 UNICODE_STRING wdfMajorValue;
173 UNICODE_STRING wdfMinorValue;
175
178
179 status = FxRegKey::_OpenKey(NULL,
180 ServiceKeyName,
181 &hDriver.m_Key,
183 );
184 if (!NT_SUCCESS(status)) {
186 "Unable to open driver's service key, status %!STATUS!", status);
187 return;
188 }
189 //
190 // Key creation, unlike user mode, must happen one level at a time, since
191 // create will also open take both steps instead of trying open first
192 //
193 status = FxRegKey::_Create(hDriver.m_Key,
194 &parametersPart,
195 &hParameters.m_Key,
197 );
198 if (!NT_SUCCESS(status)) {
200 "Unable to write Parameters key, status %!STATUS!", status);
201 return;
202 }
203
204 status = FxRegKey::_Create(hParameters.m_Key,
205 &wdfPart,
206 &hWdf.m_Key,
208 );
209 if (!NT_SUCCESS(status)) {
211 "Unable to write Parameters key, status %!STATUS!", status);
212 return;
213 }
214
215 //
216 // Using ZwSetValueKey here to avoid having to change the implementation
217 // in FxRegKey of SetValue to a static / thiscall pair
218 //
219 status = ZwSetValueKey(hWdf.m_Key,
220 &wdfMajorValue,
221 0,
222 REG_DWORD,
224 sizeof(WdfBindInfo->Version.Major)
225 );
226
227 if (!NT_SUCCESS(status)) {
229 "Failed to record driver major version value, status %!STATUS!", status);
230 }
231
232 status = ZwSetValueKey(hWdf.m_Key,
233 &wdfMinorValue,
234 0,
235 REG_DWORD,
237 sizeof(WdfBindInfo->Version.Minor)
238 );
239
240 if (!NT_SUCCESS(status)) {
242 "Failed to record driver version value, status %!STATUS!", status);
243 }
244}
#define TRACINGDRIVER
Definition: dbgtrace.h:68
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define KEY_WRITE
Definition: nt_native.h:1031
#define REG_DWORD
Definition: sdbapi.c:596
#define TRACE_LEVEL_VERBOSE
Definition: storswtr.h:30

◆ Release()

ULONG __inline _FX_DRIVER_GLOBALS::Release ( __in_opt PVOID  Tag = NULL,
__in LONG  Line = 0,
__in_opt PSTR  File = NULL 
)
inline

Definition at line 193 of file fxglobals.h.

198 {
199 ULONG c;
200
204
206 ASSERT((LONG)c >= 0);
207 if (c == 0) {
209 }
210
211 return c;
212 }
#define InterlockedDecrement
Definition: armddk.h:52
__inline VOID Set()
Definition: mxeventkm.h:91
long LONG
Definition: pedump.c:60
MxEvent DestroyEvent
Definition: fxglobals.h:351

◆ SetVerifierState()

VOID _FX_DRIVER_GLOBALS::SetVerifierState ( __in BOOLEAN  State)
inline

Definition at line 236 of file fxglobals.h.

239 {
240 //
241 // Master switch
242 //
244
249
250 //
251 // Following two can be overridden by the registry settings
252 // WDFVERIFY matches the state of the verifier.
253 //
257
258 //
259 // Set the public flags for consumption by client drivers.
260 //
261 if (State) {
262 Public.DriverFlags |= (WdfVerifyOn | WdfVerifierOn);
263 }
264 }
BOOLEAN FxVerifierDbgBreakOnDeviceStateError
Definition: fxglobals.h:436
BOOLEAN FxVerifierIO
Definition: fxglobals.h:446
BOOLEAN FxVerifierDbgBreakOnError
Definition: fxglobals.h:431
BOOLEAN FxVerifyOn
Definition: fxglobals.h:457
@ WdfVerifierOn
Definition: wdfdriver.h:54
@ WdfVerifyOn
Definition: wdfdriver.h:53

Referenced by FxAllocateDriverGlobals().

◆ WaitForSignal()

VOID FX_DRIVER_GLOBALS::WaitForSignal ( __in MxEvent Event,
__in PCSTR  ReasonForWaiting,
__in PVOID  Handle,
__in ULONG  WarningTimeoutInSec,
__in ULONG  WaitSignalFlags 
)

Definition at line 1705 of file globals.cpp.

1712{
1713 LARGE_INTEGER timeOut;
1715
1717
1718 timeOut.QuadPart = WDF_REL_TIMEOUT_IN_SEC(((ULONGLONG)WarningTimeoutInSec));
1719
1720 do {
1721 status = Event->WaitFor(Executive,
1722 KernelMode,
1723 FALSE, // Non alertable
1724 timeOut.QuadPart ? &timeOut : NULL);
1725
1726 if(status == STATUS_TIMEOUT) {
1727 DbgPrint("Thread 0x%p is %s 0x%p\n",
1729 ReasonForWaiting,
1730 Handle);
1731
1736 IsDebuggerAttached())) {
1737
1738 DbgBreakPoint();
1739 }
1740 } else {
1742 break;
1743 }
1744 } WHILE(TRUE);
1745}
static __inline MxThread MxGetCurrentThread()
Definition: mxgeneralkm.h:61
static __inline KIRQL MxGetCurrentIrql()
Definition: mxgeneralkm.h:86
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
WaitSignalFlags
Definition: fxglobals.h:83
@ WaitSignalBreakUnderDebugger
Definition: fxglobals.h:85
@ WaitSignalAlwaysBreak
Definition: fxglobals.h:86
@ WaitSignalBreakUnderVerifier
Definition: fxglobals.h:84
#define WHILE(constant)
Definition: fxmacros.hpp:226
ULONG Handle
Definition: gdb_input.c:15
#define DbgPrint
Definition: hal.h:12
NTSYSAPI void WINAPI DbgBreakPoint(void)
#define KernelMode
Definition: asm.h:34
#define STATUS_TIMEOUT
Definition: ntstatus.h:81
_Must_inspect_result_ BOOLEAN IsDebuggerAttached(VOID)
Definition: globalskm.cpp:250
uint64_t ULONGLONG
Definition: typedefs.h:67
LONGLONG QuadPart
Definition: typedefs.h:114
FORCEINLINE LONGLONG WDF_REL_TIMEOUT_IN_SEC(_In_ ULONGLONG Time)
Definition: wdfcore.h:62
@ Executive
Definition: ketypes.h:403

Referenced by FxUsbPipeContinuousReader::CancelRepeaters(), FxIoQueue::Dispose(), FxIoQueue::QueueDrainSynchronously(), FxIoQueue::QueueIdleSynchronously(), FxIoQueue::QueuePurgeSynchronously(), FxIoQueue::StartPowerTransitionOff(), FxIoQueue::StopProcessingForPower(), and FxInterrupt::WakeInterruptIsr().

Member Data Documentation

◆ BugCheckCallbackRecord

KBUGCHECK_REASON_CALLBACK_RECORD _FX_DRIVER_GLOBALS::BugCheckCallbackRecord

Definition at line 511 of file fxglobals.h.

◆ BugCheckDriverInfoIndex

ULONG _FX_DRIVER_GLOBALS::BugCheckDriverInfoIndex

Definition at line 506 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ DbgWaitForWakeInterruptIsrTimeoutInSec

ULONG _FX_DRIVER_GLOBALS::DbgWaitForWakeInterruptIsrTimeoutInSec

Definition at line 534 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ DebugExtension

◆ DestroyEvent

MxEvent _FX_DRIVER_GLOBALS::DestroyEvent

Definition at line 351 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), FxFreeDriverGlobals(), and Release().

◆ Driver

◆ FxDsfOn

BOOLEAN _FX_DRIVER_GLOBALS::FxDsfOn

Definition at line 472 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ FxEnhancedVerifierOptions

ULONG _FX_DRIVER_GLOBALS::FxEnhancedVerifierOptions

◆ FxForceLogsInMiniDump

BOOLEAN _FX_DRIVER_GLOBALS::FxForceLogsInMiniDump

◆ FxPoolFrameworks

FX_POOL _FX_DRIVER_GLOBALS::FxPoolFrameworks

◆ FxPoolTrackingOn

BOOLEAN _FX_DRIVER_GLOBALS::FxPoolTrackingOn

Definition at line 393 of file fxglobals.h.

Referenced by IsPoolTrackingOn(), and SetVerifierState().

◆ FxRequestParentOptimizationOn

BOOLEAN _FX_DRIVER_GLOBALS::FxRequestParentOptimizationOn

Definition at line 467 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ FxTrackDriverForMiniDumpLog

BOOLEAN _FX_DRIVER_GLOBALS::FxTrackDriverForMiniDumpLog

Definition at line 483 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), and FxpBugCheckCallback().

◆ FxVerboseOn

BOOLEAN _FX_DRIVER_GLOBALS::FxVerboseOn

Definition at line 462 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), and FxPkgPnp::HandleQueryBusRelations().

◆ FxVerifierDbgBreakOnDeviceStateError

BOOLEAN _FX_DRIVER_GLOBALS::FxVerifierDbgBreakOnDeviceStateError

Definition at line 436 of file fxglobals.h.

Referenced by SetVerifierState().

◆ FxVerifierDbgBreakOnError

BOOLEAN _FX_DRIVER_GLOBALS::FxVerifierDbgBreakOnError

Definition at line 431 of file fxglobals.h.

Referenced by SetVerifierState(), WaitForSignal(), and WdfVerifierDbgBreakPoint().

◆ FxVerifierDbgWaitForSignalTimeoutInSec

ULONG _FX_DRIVER_GLOBALS::FxVerifierDbgWaitForSignalTimeoutInSec

◆ FxVerifierHandle

BOOLEAN _FX_DRIVER_GLOBALS::FxVerifierHandle

Definition at line 441 of file fxglobals.h.

Referenced by FxObject::IsDisposed(), IsObjectDebugOn(), and SetVerifierState().

◆ FxVerifierIO

◆ FxVerifierLock

◆ FxVerifierOn

◆ FxVerifyDownlevel

BOOLEAN _FX_DRIVER_GLOBALS::FxVerifyDownlevel

◆ FxVerifyOn

BOOLEAN _FX_DRIVER_GLOBALS::FxVerifyOn

Definition at line 457 of file fxglobals.h.

Referenced by SetVerifierState().

◆ ImageAddress

PVOID _FX_DRIVER_GLOBALS::ImageAddress

Definition at line 410 of file fxglobals.h.

◆ ImageSize

ULONG _FX_DRIVER_GLOBALS::ImageSize

Definition at line 415 of file fxglobals.h.

◆ IsUserModeDriver

BOOLEAN _FX_DRIVER_GLOBALS::IsUserModeDriver

Definition at line 488 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ LibraryGlobals

FxLibraryGlobalsType* _FX_DRIVER_GLOBALS::LibraryGlobals

Definition at line 378 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ Linkage

LIST_ENTRY _FX_DRIVER_GLOBALS::Linkage

Definition at line 339 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), and FxFreeDriverGlobals().

◆ Refcnt

LONG _FX_DRIVER_GLOBALS::Refcnt

Definition at line 344 of file fxglobals.h.

Referenced by AddRef(), FxAllocateDriverGlobals(), and Release().

◆ RemoveLockOptionFlags

ULONG _FX_DRIVER_GLOBALS::RemoveLockOptionFlags

Definition at line 494 of file fxglobals.h.

Referenced by FxDevice::CreateDevice().

◆ Tag

◆ TelemetryContext

PFX_TELEMETRY_CONTEXT _FX_DRIVER_GLOBALS::TelemetryContext

Definition at line 540 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), and FxFreeDriverGlobals().

◆ ThreadTable

PLIST_ENTRY _FX_DRIVER_GLOBALS::ThreadTable

◆ ThreadTableLock

MxLock _FX_DRIVER_GLOBALS::ThreadTableLock

Definition at line 398 of file fxglobals.h.

Referenced by FxVerifierLock::Lock(), and FxVerifierLock::Unlock().

◆ UfxDriverGlobals

CWudfDriverGlobals* _FX_DRIVER_GLOBALS::UfxDriverGlobals

Definition at line 537 of file fxglobals.h.

◆ WdfBindInfo

◆ WdfHandleMask

ULONG_PTR _FX_DRIVER_GLOBALS::WdfHandleMask

Definition at line 356 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().

◆ WdfLogHeader

PVOID _FX_DRIVER_GLOBALS::WdfLogHeader

Definition at line 383 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals(), and FxpBugCheckCallback().

◆ WdfVerifierAllocateFailCount

LONG _FX_DRIVER_GLOBALS::WdfVerifierAllocateFailCount

Definition at line 362 of file fxglobals.h.

Referenced by FxAllocateDriverGlobals().


The documentation for this struct was generated from the following files: