132#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
198#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
215#if (FX_CORE_MODE == FX_CORE_USER_MODE)
247 "FxDevice 0x%p not disposed: this maybe a driver reference count "
278#if FX_CORE_MODE == FX_CORE_KERNEL_MODE
478#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
505 pNext = pNext->
Flink) {
570 "WDFDEVICE %p !devobj %p created, but EvtDriverDeviceAdd returned "
571 "status %!STATUS! or failure in creation",
582 "WDFDEVICE %p, !devobj %p is a filter, converting %!STATUS! to"
588 if (UseStateMachine) {
721 if (
DeviceInit->RequestAttributes.Size != 0) {
740 if (
NULL == cxDeviceInfo) {
744 cxDeviceInfo->
Index = ++cxIndex;
826#if (FX_CORE_MODE==FX_CORE_KERNEL_MODE)
873 checkClientDriver =
TRUE;
893 if (autoForwardCleanupClose ==
WdfFalse &&
896 checkClientDriver =
FALSE;
902 if (checkClientDriver &&
DeviceInit->FileObject.Set) {
903 autoForwardCleanupClose =
DeviceInit->FileObject.AutoForwardCleanupClose;
906 switch (autoForwardCleanupClose) {
960#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
969 ULONG characteristics;
983 characteristics =
DeviceInit->Characteristics;
1008 pSddl =
DeviceInit->Security.Sddl->GetUnicodeString();
1423 if (
Info->Dispatch[
major].NumMinorFunctions == 0) {
1436 for (
i = 0;
i <
Info->Dispatch[
major].NumMinorFunctions;
i++) {
1524 while (
next != &
Device->m_PreprocessInfoListHead) {
1542 return Device->GetDispatchPackage(
1559 device->m_PreprocessInfoListHead.Flink);
1626 Package->AssignParentObject(
this);
1676 if (pTrueBase !=
NULL) {
1680 sizeof(FX_POOL_TRACKER),
1718 "Allocating FxRequest* %p, WDFREQUEST %p",
1736 "Free FxRequest* %p memory",
Request);
1911 while (targetsList !=
NULL) {
2013 "Could not retrieve property %d length, %!STATUS!",
2027 "Could not allocate WDFMEMORY, %!STATUS!",
status);
2041 "Could not query for full buffer, size %d, for "
2042 "property %d, %!STATUS!",
2053 "Could not commit memory object, %!STATUS!",
2079 ULONG requiredLength;
2092 "Could not retrieve property, %!STATUS!",
2110 "Could not allocate WDFMEMORY, %!STATUS!",
status);
2125 "Could not query for full buffer, size %d, for "
2126 "property, %!STATUS!",
2137 "Could not commit memory object, %!STATUS!",
2169 "Device OpenKey/QueryProperty was called with invalid "
2170 "DeviceInit and Device parameters, %!STATUS!",
status);
MxDeviceObject m_AttachedDevice
NTSTATUS ConfigureConstraints(__in_opt PWDF_OBJECT_ATTRIBUTES ObjectAttributes)
MxDeviceObject m_DeviceObject
__inline FxDriver * GetDriver(VOID)
_Must_inspect_result_ NTSTATUS QueryInterface(__inout FxQueryInterfaceParams *Params)
FxDisposeList * m_DisposeList
MdDeviceObject __inline GetDeviceObject(VOID)
static FxDeviceInterface * _FromEntry(__in PSINGLE_LIST_ENTRY Entry)
UNICODE_STRING m_ReferenceString
GUID m_InterfaceClassGUID
static _Must_inspect_result_ NTSTATUS _QueryProperty(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device, _In_opt_ MdDeviceObject RemotePdo, _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty, _In_ ULONG BufferLength, _Out_opt_ PVOID PropertyBuffer, _Out_opt_ PULONG ResultLength)
size_t m_RequestLookasideListElementSize
__inline BOOLEAN IsPnp(VOID)
USHORT m_DeviceTelemetryInfoFlags
WDF_DEVICE_POWER_STATE m_CurrentPowerState
WDF_REGISTER_ACCESS_MODE_TYPE m_RegisterAccessMode
virtual _Must_inspect_result_ NTSTATUS AddIoTarget(__inout FxIoTarget *IoTarget)
FxWmiIrpHandler * m_PkgWmi
UNICODE_STRING m_DeviceName
VOID DeleteSymbolicLink(VOID)
VOID DestructorInternal(VOID)
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
__inline FxPkgFdo * GetFdoPkg(VOID)
virtual FxIoTarget * GetDefaultIoTarget(VOID)
__inline CHAR GetStackSize(VOID)
static _Must_inspect_result_ NTSTATUS _QueryPropertyEx(_In_ PFX_DRIVER_GLOBALS DriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device, _In_ PVOID PropertyData, _In_ FxPropertyType FxPropertyType, _In_ ULONG BufferLength, _Out_ PVOID PropertyBuffer, _Out_ PULONG ResultLength, _Out_ PDEVPROPTYPE PropertyType)
WDF_DEVICE_IO_TYPE m_IoctlIoType
WDF_DEVICE_PNP_STATE m_CurrentPnpState
_Must_inspect_result_ NTSTATUS DispatchPreprocessedIrp(__in MdIrp Irp, __in PVOID DispatchContext)
static FxDeviceRemLockAction __inline _RequiresRemLock(__in UCHAR MajorCode, __in UCHAR MinorCode)
static MdCompletionRoutineType _CompletionRoutineForRemlockMaintenance
CfxDevice * m_ParentDevice
VOID ConfigureAutoForwardCleanupClose(__in PWDFDEVICE_INIT DeviceInit)
WDF_OBJECT_ATTRIBUTES m_RequestAttributes
_Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit, __in_opt PWDF_OBJECT_ATTRIBUTES DeviceAttributes)
FxInterruptThreadpool * m_InteruptThreadpool
FxDefaultIrpHandler * m_PkgDefault
static FxDevice * GetFxDevice(__in MdDeviceObject DeviceObject)
CHAR m_DefaultPriorityBoost
virtual VOID DeleteObject(VOID)
NPAGED_LOOKASIDE_LIST m_RequestLookasideList
__inline BOOLEAN IsPdo(VOID)
VOID SetCleanupFromFailedCreate(BOOLEAN Value)
UNICODE_STRING m_MofResourceName
_Must_inspect_result_ NTSTATUS PdoInitialize(__in PWDFDEVICE_INIT DeviceInit)
FxMessageDispatch * m_Dispatcher
VOID FinishInitializing(VOID)
FxPkgGeneral * m_PkgGeneral
static FxWdmDeviceExtension * _GetFxWdmExtension(__in MdDeviceObject DeviceObject)
static _Must_inspect_result_ NTSTATUS _AcquireOptinRemoveLock(__in MdDeviceObject DeviceObject, __in MdIrp Irp)
static _Must_inspect_result_ NTSTATUS _ValidateOpenKeyParams(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device)
BOOLEAN m_ParentWaitingOnChild
FxIoTargetSelf * GetSelfIoTarget(VOID)
ULONG m_DirectTransferThreshold
WDF_DEVICE_IO_TYPE m_ReadWriteIoType
MdRemoveLock GetRemoveLock(VOID)
VOID InstallPackage(__inout FxPackage *Package)
LIST_ENTRY m_FileObjectListHead
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDFDEVICE_INIT *DeviceInit, __in_opt PWDF_OBJECT_ATTRIBUTES DeviceAttributes, __out FxDevice **Device)
_Must_inspect_result_ NTSTATUS PostInitialize(VOID)
virtual VOID RemoveIoTarget(__inout FxIoTarget *IoTarget)
static _Must_inspect_result_ NTSTATUS STDCALL DispatchWithLock(__in MdDeviceObject DeviceObject, __in MdIrp OriginalIrp)
VOID SetFilterIoType(VOID)
WDF_FILEOBJECT_CLASS m_FileObjectClass
__inline BOOLEAN IsLegacy(VOID)
_Must_inspect_result_ NTSTATUS DeleteDeviceFromFailedCreateNoDelete(__in NTSTATUS FailedStatus, __in BOOLEAN UseStateMachine)
BOOLEAN m_DeviceObjectDeleted
BOOLEAN IsInterfaceRegistered(_In_ const GUID *InterfaceClassGUID, _In_opt_ PCUNICODE_STRING RefString)
LIST_ENTRY m_PreprocessInfoListHead
virtual BOOLEAN Dispose(VOID)
__inline BOOLEAN IsFilter()
static _Must_inspect_result_ NTSTATUS _AllocAndQueryProperty(_In_ PFX_DRIVER_GLOBALS Globals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device, _In_opt_ MdDeviceObject RemotePdo, _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty, _In_ POOL_TYPE PoolType, _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, _Out_ WDFMEMORY *PropertyMemory)
FxDevice(__in FxDriver *ArgDriver)
PVOID AllocateRequestMemory(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes)
UNICODE_STRING m_SymbolicLinkName
BOOLEAN m_SelfIoTargetNeeded
BOOLEAN m_CleanupFromFailedCreate
static _Must_inspect_result_ NTSTATUS _AllocAndQueryPropertyEx(_In_ PFX_DRIVER_GLOBALS DriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device, _In_ PVOID PropertyData, _In_ FxPropertyType FxPropertyType, _In_ POOL_TYPE PoolType, _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, _Out_ WDFMEMORY *PropertyMemory, _Out_ PDEVPROPTYPE PropertyType)
WDF_FILE_OBJECT_POLICY_TYPE m_FileObjectPolicy
IWudfDeviceStack * m_DevStack
virtual _Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
_Must_inspect_result_ NTSTATUS FdoInitialize(__in PWDFDEVICE_INIT DeviceInit)
__inline VOID SetStackSize(_In_ CHAR Size)
FxSpinLockTransactionedList m_IoTargetsList
_Must_inspect_result_ NTSTATUS CreateDevice(__in PWDFDEVICE_INIT DeviceInit)
WDF_FS_CONTEXT_USE_POLICY_TYPE m_FsContextUsePolicy
WDF_DEVICE_POWER_POLICY_STATE m_CurrentPowerPolicyState
BOOLEAN m_PowerPageableCapable
__inline FxPkgPdo * GetPdoPkg(VOID)
LIST_ENTRY m_CxDeviceInfoListHead
UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL m_RetrievalMode
WDF_DIRECT_HARDWARE_ACCESS_TYPE m_DirectHardwareAccess
_Must_inspect_result_ NTSTATUS DeleteDeviceFromFailedCreate(__in NTSTATUS FailedStatus, __in BOOLEAN UseStateMachine)
_Must_inspect_result_ NTSTATUS ControlDeviceInitialize(__in PWDFDEVICE_INIT DeviceInit)
VOID FreeRequestMemory(__in FxRequest *Request)
BOOLEAN m_AutoForwardCleanupClose
static _Must_inspect_result_ NTSTATUS STDCALL Dispatch(__in MdDeviceObject DeviceObject, __in MdIrp OriginalIrp)
VOID SetInitialState(VOID)
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__inout FxQueryInterfaceParams *Params)
static const CHAR m_PriorityBoosts[]
static NTSTATUS _Create(PFX_DRIVER_GLOBALS FxDriverGlobals, PVOID WdmObject, FxDisposeList **pObject)
MxDriverObject m_DriverObject
PFN_WDF_IO_IN_CALLER_CONTEXT m_Method
VOID UpdateTargetIoType(VOID)
__inline MdDeviceObject GetTargetPDO(VOID)
UCHAR GetMajorFunction(VOID)
VOID CompleteRequest(__in_opt CCHAR PriorityBoost=IO_NO_INCREMENT)
VOID SetCompletionRoutineEx(__in MdDeviceObject DeviceObject, __in MdCompletionRoutine CompletionRoutine, __in PVOID Context, __in BOOLEAN InvokeOnSuccess=TRUE, __in BOOLEAN InvokeOnError=TRUE, __in BOOLEAN InvokeOnCancel=TRUE)
VOID SetNextIrpStackLocation(VOID)
VOID PropagatePendingReturned(VOID)
VOID SetStatus(__in NTSTATUS Status)
VOID CopyCurrentIrpStackLocationToNext(VOID)
VOID SetInformation(__in ULONG_PTR Information)
UCHAR GetMinorFunction(VOID)
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS DriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in POOL_TYPE PoolType, __in ULONG PoolTag, __in size_t BufferSize, __out FxMemoryObject **Object)
virtual WDFMEMORY GetHandle(VOID)
BOOLEAN IsNoDeleteDDI(VOID)
virtual VOID DeleteObject(VOID)
PVOID __inline GetObjectHandleUnchecked(VOID)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
VOID __inline DestroyChildren(VOID)
__drv_restoresIRQL KIRQL __in BOOLEAN Unlock
BOOLEAN EarlyDispose(VOID)
virtual BOOLEAN Dispose(VOID)
static PVOID __inline _ToHandle(__in FxObject *Object)
__inline FxContextHeader * GetContextHeader(VOID)
VOID MarkDisposeOverride(__in FxObjectLockState State=ObjectLock)
static PFX_POOL_HEADER _CleanupPointer(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObject *Object)
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
__inline VOID CallCleanup(VOID)
FxIoTargetSelf * m_SelfTarget
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
FxIoTarget * m_DefaultTarget
BOOLEAN CanDestroyControlDevice(VOID)
_Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit)
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
__inline VOID SetIoInCallerContextCallback(__inout PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext)
BOOLEAN m_AddedToStaticList
_Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
SINGLE_LIST_ENTRY m_DeviceInterfaceHead
FxWaitLockInternal m_DeviceInterfaceLock
VOID CleanupStateMachines(__in BOOLEAN ClenaupPnp)
VOID CleanupDeviceFromFailedCreate(__in MxEvent *WaitEvent)
virtual VOID FinishInitialize(__inout PWDFDEVICE_INIT DeviceInit)
VOID __inline ReleaseString(__out PUNICODE_STRING ReleaseTo)
_Must_inspect_result_ FxTransactionedEntry * GetNextEntry(__in_opt FxTransactionedEntry *Entry)
VOID UnlockFromEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
NTSTATUS Add(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
VOID LockForEnum(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
VOID Remove(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxTransactionedEntry *Entry)
virtual PVOID GetBuffer(VOID)=0
__inline VOID SetObject(__in_opt MdDeviceObject DeviceObject)
PVOID GetDeviceExtension(VOID)
__inline MdDeviceObject GetObject(VOID)
VOID SetDeviceExtension(PVOID Value)
VOID SetFlags(ULONG Flags)
__inline MdDriverObject GetObject(VOID)
CHECK_RETURN_IF_USER_MODE __inline NTSTATUS Initialize(__in EVENT_TYPE Type, __in BOOLEAN InitialState)
MxEvent * GetSelfPointer(VOID)
static __inline NTSTATUS MxAcquireRemoveLock(__in MdRemoveLock RemoveLock, __in_opt PVOID Tag)
static __inline VOID MxInitializeRemoveLock(__in MdRemoveLock Lock, __in ULONG AllocateTag, __in ULONG MaxLockedMinutes, __in ULONG HighWatermark)
static __inline NTSTATUS MxCreateDevice(_In_ MdDriverObject DriverObject, _In_ ULONG DeviceExtensionSize, _In_opt_ PUNICODE_STRING DeviceName, _In_ DEVICE_TYPE DeviceType, _In_ ULONG DeviceCharacteristics, _In_ BOOLEAN Exclusive, _Out_ MdDeviceObject *DeviceObject)
static __inline NTSTATUS MxCreateDeviceSecure(_In_ MdDriverObject DriverObject, _In_ ULONG DeviceExtensionSize, _In_opt_ PUNICODE_STRING DeviceName, _In_ DEVICE_TYPE DeviceType, _In_ ULONG DeviceCharacteristics, _In_ BOOLEAN Exclusive, _In_ PCUNICODE_STRING DefaultSDDLString, _In_opt_ LPCGUID DeviceClassGuid, _Out_ MdDeviceObject *DeviceObject)
static __inline VOID MxReleaseRemoveLock(__in MdRemoveLock RemoveLock, __in PVOID Tag)
static __inline VOID MxDeleteNPagedLookasideList(_In_ PNPAGED_LOOKASIDE_LIST LookasideList)
static __inline VOID MxDeleteDevice(_In_ MdDeviceObject Device)
static __inline VOID MxReferenceObject(__in PVOID Object)
static __inline KIRQL MxGetCurrentIrql()
static __inline VOID MxInitializeNPagedLookasideList(_Out_ PNPAGED_LOOKASIDE_LIST Lookaside, _In_opt_ PALLOCATE_FUNCTION Allocate, _In_opt_ PFREE_FUNCTION Free, _In_ ULONG Flags, _In_ SIZE_T Size, _In_ ULONG Tag, _In_ USHORT Depth)
_In_z_ PCCHAR _In_ PDEVICE_OBJECT _In_ BOOLEAN IsFdo
CLIPBOARD_GLOBALS Globals
#define NT_SUCCESS(StatCode)
#define IO_NETWORK_INCREMENT
#define InsertTailList(ListHead, Entry)
#define IsListEmpty(ListHead)
#define RtlCompareMemory(s1, s2, l)
#define DO_DEVICE_INITIALIZING
#define RemoveHeadList(ListHead)
#define InitializeListHead(ListHead)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ __inline NTSTATUS DispatchWorker(__in FxDevice *Device, __in MdIrp Irp, __in WDFCONTEXT DispatchContext)
_Must_inspect_result_ __inline BOOLEAN IsPreprocessIrp(__in MdIrp Irp, __in FxIrpPreprocessInfo *Info)
_Must_inspect_result_ __inline NTSTATUS PreprocessIrp(__in FxDevice *Device, __in MdIrp Irp, __in FxIrpPreprocessInfo *Info, __in PVOID DispatchContext)
@ FxDeviceRemLockRequired
@ FxDeviceRemLockTestValid
return pDevice GetPhysicalDevice()
return pDevice GetDeviceObject()
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE PropertyType
@ FxDeviceInitTypeControlDevice
__in WDFDEVICE __in CONST GUID __in_opt PCUNICODE_STRING RefString
FxVerifierDbgBreakPoint(pFxDriverGlobals)
#define FX_FILE_OBJECT_POLICY_DEFAULT
#define FX_FS_CONTEXT_USE_POLICY_DEFAULT
#define FX_REGISTER_ACCESS_MODE_DEFAULT
#define FX_DIRECT_HARDWARE_ACCESS_DEFAULT
_Must_inspect_result_ BOOLEAN __inline FxIsEqualGuid(__in CONST GUID *Lhs, __in CONST GUID *Rhs)
__inline PVOID FxAllocateFromNPagedLookasideList(_In_ PNPAGED_LOOKASIDE_LIST Lookaside, _In_opt_ size_t ElementSize=0)
__inline VOID FxFreeToNPagedLookasideList(__in PNPAGED_LOOKASIDE_LIST Lookaside, __in PVOID Entry)
__inline VOID FxFreeToNPagedLookasideListNoTracking(__in PNPAGED_LOOKASIDE_LIST Lookaside, __in PVOID Entry)
_Must_inspect_result_ __inline PVOID FxAllocateFromNPagedLookasideListNoTracking(__in PNPAGED_LOOKASIDE_LIST Lookaside)
PVOID FxObjectAndHandleHeaderInit(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PVOID AllocationStart, __in USHORT ObjectSize, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in FxObjectType ObjectType)
size_t FxGetContextSize(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes)
_Must_inspect_result_ NTSTATUS FxCalculateObjectTotalSize2(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT RawObjectSize, __in USHORT ExtraSize, __in size_t ContextSize, __out size_t *Total)
#define COMPUTE_OBJECT_SIZE(_rawObjectSize, _extraSize)
PFX_DRIVER_GLOBALS pGlobals
#define FX_IN_DISPATCH_CALLBACK
FX_POOL_TRACKER * PFX_POOL_TRACKER
void FxPoolFree(__in_xcount(ptr is at an offset from AllocationStart) PVOID ptr)
FX_POOL_HEADER * PFX_POOL_HEADER
_Must_inspect_result_ NTSTATUS __inline FxPoolAddHeaderSize(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in size_t AllocationSize, __out size_t *NewSize)
VOID __inline FxPoolInsertNonPagedAllocateTracker(__in PFX_POOL Pool, __in PFX_POOL_TRACKER Tracker, __in SIZE_T Size, __in ULONG Tag, __in PVOID Caller)
#define FxVerifierBugCheck(FxDriverGlobals, Error,...)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
FxContextHeader * pHeader
#define _Must_inspect_result_
#define _Analysis_assume_
#define UNREFERENCED_PARAMETER(P)
static unsigned __int64 next
#define STATUS_BUFFER_TOO_SMALL
#define TRACE_LEVEL_VERBOSE
#define TRACE_LEVEL_FATAL
#define TRACE_LEVEL_ERROR
#define TRACE_LEVEL_INFORMATION
WDFCX_FILEOBJECT_CONFIG Callbacks
WDF_TRI_STATE AutoForwardCleanupClose
FxIoInCallerContext IoInCallerContextCallback
WDF_OBJECT_ATTRIBUTES RequestAttributes
FxObject * GetTransactionedObject(VOID)
ULONG RemoveLockOptionFlags
WUDF_IO_REMOVE_LOCK IoRemoveLock
PFN_WDF_IO_IN_CALLER_CONTEXT IoInCallerContextCallback
CxFileObjectInit FileObject
WDF_OBJECT_ATTRIBUTES RequestAttributes
FxIrpPreprocessInfo * PreprocessInfo
FxCxDeviceInfo * CxDeviceInfo
PFX_DRIVER_GLOBALS CxDriverGlobals
FxDeviceInitType InitType
LIST_ENTRY CxDeviceInitListHead
FxIrpPreprocessInfo * PreprocessInfo
ULONG RemoveLockOptionFlags
BOOLEAN IsPoolTrackingOn(VOID)
struct _LIST_ENTRY * Flink
struct _SINGLE_LIST_ENTRY * Next
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
struct _LIST_ENTRY * PLIST_ENTRY
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE Device
_In_ PWDFDEVICE_INIT DeviceInit
#define WDF_PTR_ADD_OFFSET_TYPE(_ptr, _offset, _type)
_In_ PDEVICE_OBJECT DeviceObject
@ WdfDevStatePnpObjectCreated
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
@ WDF_REMOVE_LOCK_OPTION_ACQUIRE_FOR_IO
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
_Must_inspect_result_ _Inout_ PWDFDEVICE_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES DeviceAttributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID * InterfaceClassGUID
@ WdfFileObjectNotRequired
@ WdfFileObjectWdfCannotUseFsContexts
@ WdfDevStatePwrPolObjectCreated
@ WdfDevStatePowerObjectCreated
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
enum _WDF_TRI_STATE WDF_TRI_STATE
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH * Dispatch
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
#define STATUS_CONTINUE_COMPLETION
#define IO_SOUND_INCREMENT
#define IO_CD_ROM_INCREMENT
#define IO_NAMED_PIPE_INCREMENT
#define IO_PARALLEL_INCREMENT
#define IO_DISK_INCREMENT
#define IO_MOUSE_INCREMENT
#define IO_VIDEO_INCREMENT
#define IO_MAILSLOT_INCREMENT
#define IO_SERIAL_INCREMENT
#define IO_KEYBOARD_INCREMENT