33 #if (FX_CORE_MODE == FX_CORE_USER_MODE) 93 #define FX_DISPATCH_IRP_TO_IO_QUEUE_FLAGS_MASK \ 94 (WDF_DISPATCH_IRP_TO_IO_QUEUE_INVOKE_INCALLERCTX_CALLBACK |\ 95 WDF_DISPATCH_IRP_TO_IO_QUEUE_PREPROCESSED_IRP) 709 #if (FX_CORE_MODE == FX_CORE_USER_MODE) 800 #endif // (FX_CORE_MODE == FX_CORE_USER_MODE) 982 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 1031 #if (FX_CORE_MODE==FX_CORE_USER_MODE) 1064 #endif // (FX_CORE_MODE == FX_CORE_USER_MODE) 1097 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 1575 if (cxDeviceInfo->
Driver == CxDriver) {
1576 return cxDeviceInfo;
1604 GetFirstCxDeviceInfo(
1620 GetNextCxDeviceInfo(
1644 if (CxDeviceInfo !=
NULL) {
1645 return CxDeviceInfo->Index;
1658 if (CxDeviceInfo !=
NULL) {
1659 return CxDeviceInfo->Driver;
1666 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 1689 #elif (FX_CORE_MODE == FX_CORE_USER_MODE) 1695 _In_ IWudfDeviceStack* DeviceStack,
1881 #if (FX_CORE_MODE == FX_CORE_USER_MODE) 1943 #if (FX_CORE_MODE==FX_CORE_USER_MODE) 2047 _In_ IWudfDeviceStack * DevStack,
2104 return SystemAddress;
2112 return PseudoAddress;
2119 __in WDF_DEVICE_HWACCESS_TARGET_SIZE
Size 2125 case WdfDeviceHwAccessTargetSizeUchar:
2128 case WdfDeviceHwAccessTargetSizeUshort:
2131 case WdfDeviceHwAccessTargetSizeUlong:
2134 case WdfDeviceHwAccessTargetSizeUlong64:
2146 __in WDF_DEVICE_HWACCESS_TARGET_TYPE
Type 2149 if (
Type == WdfDeviceHwAccessTargetTypeRegister ||
2150 Type == WdfDeviceHwAccessTargetTypeRegisterBuffer) {
2159 __in WDF_DEVICE_HWACCESS_TARGET_TYPE
Type 2162 if (
Type == WdfDeviceHwAccessTargetTypePort ||
2163 Type == WdfDeviceHwAccessTargetTypePortBuffer) {
2172 __in WDF_DEVICE_HWACCESS_TARGET_TYPE
Type 2175 if (
Type == WdfDeviceHwAccessTargetTypeRegisterBuffer ||
2176 Type == WdfDeviceHwAccessTargetTypePortBuffer) {
2185 __in WDF_DEVICE_HWACCESS_TARGET_SIZE
Size,
2191 __in WDF_DEVICE_HWACCESS_TARGET_SIZE
Size,
2199 __in WDF_DEVICE_HWACCESS_TARGET_SIZE
Size,
2206 __in WDF_DEVICE_HWACCESS_TARGET_SIZE
Size,
2218 #endif // (FX_CORE_MODE == FX_CORE_USER_MODE) 2294 #if (FX_CORE_MODE==FX_CORE_KERNEL_MODE) 2301 #endif // _FXDEVICE_H_ USHORT m_DeviceTelemetryInfoFlags
NTSTATUS ConfigureConstraints(__in_opt PWDF_OBJECT_ATTRIBUTES ObjectAttributes)
VOID SetInitialState(VOID)
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
VOID DestructorInternal(VOID)
__drv_restoresIRQL KIRQL __in BOOLEAN Unlock
static VOID DispatchUm(_In_ MdDeviceObject DeviceObject, _In_ MdIrp Irp, _In_opt_ IUnknown *Context)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
VOID RetrieveDeviceInfoRegistrySettings(_Out_ PCWSTR *GroupId, _Out_ PUMDF_DRIVER_REGSITRY_INFO DeviceRegInfo)
virtual VOID DeleteObject(VOID)
#define __out_ecount_full(size)
NPAGED_LOOKASIDE_LIST m_RequestLookasideList
VOID InvalidateDeviceState(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
MxDeviceObject m_AttachedDevice
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT _In_opt_ PVOID InterfaceSpecificData
UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL m_RetrievalMode
CfxDevice * m_ParentDevice
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
virtual VOID RemoveDmaEnabler(__inout FxDmaEnabler *Enabler)
static _Must_inspect_result_ NTSTATUS _ValidateOpenKeyParams(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device)
_Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit, __in_opt PWDF_OBJECT_ATTRIBUTES DeviceAttributes)
#define IRP_MN_REMOVE_DEVICE
__inline WDF_DEVICE_IO_TYPE GetPreferredRWTransferMode(VOID)
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
MdRemoveLock GetRemoveLock(VOID)
WDF_FILEOBJECT_CLASS m_FileObjectClass
MdDeviceObject __inline GetDeviceObject(VOID)
VOID SetFlags(ULONG Flags)
BOOL IsRegister(__in WDF_DEVICE_HWACCESS_TARGET_TYPE Type)
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
WUDF_IO_COMPLETION_ROUTINE MdCompletionRoutineType
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
_Must_inspect_result_ NTSTATUS QueryInterface(__inout FxQueryInterfaceParams *Params)
_Must_inspect_result_ __drv_aliasesMem PDEVICE_OBJECT _In_ PDEVICE_OBJECT TargetDevice
__inline MxDeviceObject * GetMxDeviceObject(VOID)
virtual _Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
_Must_inspect_result_ NTSTATUS ControlDeviceInitialize(__in PWDFDEVICE_INIT DeviceInit)
__inline WDF_DEVICE_IO_TYPE GetIoType(VOID)
_Must_inspect_result_ NTSTATUS QueryForInterface(__in const GUID *InterfaceType, __out PINTERFACE Interface, __in USHORT Size, __in USHORT Version, __in PVOID InterfaceSpecificData, __in_opt MdDeviceObject TargetDevice=NULL)
virtual VOID AddDmaEnabler(__inout FxDmaEnabler *Enabler)
#define UNREFERENCED_PARAMETER(P)
WDFDEVICE __inline GetHandle(VOID)
static const CHAR m_PriorityBoosts[]
FxIoTarget * m_DefaultTarget
static __inline NTSTATUS _OpenDeviceRegistryKey(_In_ MdDeviceObject DeviceObject, _In_ ULONG DevInstKeyType, _In_ ACCESS_MASK DesiredAccess, _Out_ PHANDLE DevInstRegKey)
_In_ ULONG DevInstKeyType
virtual VOID RemoveChildList(__inout FxChildList *List)
WDF_DEVICE_POWER_POLICY_STATE m_CurrentPowerPolicyState
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
__in WDFDEVICE __in CONST GUID __in_opt PCUNICODE_STRING RefString
NTSTATUS UpdateInterruptThreadpoolLimits(VOID)
static MdCompletionRoutineType _CompletionRoutineForRemlockMaintenance
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)
enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
VOID Init(__in MdDeviceObject DeviceObject, __in MdDeviceObject AttachedDevice, __in MdDeviceObject PhysicalDevice)
__inline BOOLEAN IsPnp(VOID)
VOID InstallPackage(__inout FxPackage *Package)
static FxDevice * GetFxDevice(__in MdDeviceObject DeviceObject)
_Must_inspect_result_ NTSTATUS AllocateTarget(_Out_ FxIoTarget **Target, _In_ BOOLEAN SelfTarget)
static void PoFxDevicePowerNotRequired(_In_ MdDeviceObject DeviceObject)
#define InterlockedCompareExchange
virtual _Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
IWudfDeviceStack * m_DevStack
IN PVOID IN PVOID IN USHORT IN USHORT Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
WDF_DEVICE_POWER_STATE m_CurrentPowerState
VOID WriteRegister(__in WDF_DEVICE_HWACCESS_TARGET_SIZE Size, __in PVOID Register, __in SIZE_T Value)
BOOLEAN IsDirectHardwareAccessAllowed()
WDF_DEVICE_IO_TYPE m_IoctlIoType
UNICODE_STRING m_SymbolicLinkName
FxDeviceBase(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxDriver *Driver, __in WDFTYPE Type, __in USHORT Size)
virtual VOID SetDeviceTelemetryInfoFlags(_In_ FxDeviceInfoFlags Flag)
static VOID DispatchWithLockUm(_In_ MdDeviceObject DeviceObject, _In_ MdIrp Irp, _In_opt_ IUnknown *Context)
virtual FxIoTarget * GetDefaultIoTarget(VOID)
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData
__inline BOOLEAN IsLegacy(VOID)
friend VOID GetTriageInfo(VOID)
VOID WmiPkgDeregister(VOID)
PVOID GetSystemAddressFromPseudoAddress(__in PVOID PseudoAddress)
VOID __inline SetDeviceObjectFlags(_In_ ULONG Flags)
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
virtual VOID RemoveIoTarget(__inout FxIoTarget *IoTarget)
__inline VOID SetCallbackFlagsLocked(__in BYTE Flags)
static _Must_inspect_result_ NTSTATUS STDCALL DispatchWithLock(__in MdDeviceObject DeviceObject, __in MdIrp OriginalIrp)
__inline MdDeviceObject GetAttachedDeviceReference(VOID)
FxCmResList * GetTranslatedResourceList(VOID)
BOOLEAN m_CleanupFromFailedCreate
_Must_inspect_result_ NTSTATUS FxValidateInterfacePropertyData(_In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData)
VOID FreeRequestMemory(__in FxRequest *Request)
VOID GetDeviceStackIoType(_Out_ WDF_DEVICE_IO_TYPE *ReadWriteIoType, _Out_ WDF_DEVICE_IO_TYPE *IoControlIoType)
static FxDeviceBase * _SearchForDevice(__in FxObject *Object, __out_opt IFxHasCallbacks **Callbacks)
__inline ULONG GetDirectTransferThreshold(VOID)
CLIPBOARD_GLOBALS Globals
VOID SetInterruptThreadpool(_In_ FxInterruptThreadpool *Pool)
_In_ PDEVICE_OBJECT DeviceObject
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)
__inline WDF_DEVICE_POWER_STATE GetDevicePowerState()
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
BOOLEAN AreRegistersMappedToUsermode(VOID)
virtual VOID RemoveDmaEnabler(__inout FxDmaEnabler *Enabler)
FxDefaultIrpHandler * m_PkgDefault
FxWmiIrpHandler * m_PkgWmi
BOOL IsBufferType(__in WDF_DEVICE_HWACCESS_TARGET_TYPE Type)
FxCmResList * GetTranslatedResources()
_Must_inspect_result_ _Inout_ PWDFDEVICE_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES DeviceAttributes
__inline FxPackage * GetDispatchPackage(__in UCHAR MajorFunction)
static __inline MdDeviceObject MxGetAttachedDeviceReference(__in MdDeviceObject DriverObject)
__inline BOOLEAN IsFdo(VOID)
UNICODE_STRING m_MofResourceName
BOOL IsPort(__in WDF_DEVICE_HWACCESS_TARGET_TYPE Type)
IWudfDeviceStack2 * GetDeviceStack2(VOID)
NTSTATUS WmiPkgRegister(VOID)
static __inline CCHAR GetCxDriverIndex(__in FxCxDeviceInfo *CxDeviceInfo)
static VOID STDCALL _InterfaceReferenceNoOp(__in_opt PVOID Context)
virtual _Must_inspect_result_ NTSTATUS AddIoTarget(__inout FxIoTarget *IoTarget)
__inline VOID SetCallbackFlags(__in BYTE Flags)
WDF_DEVICE_IO_TYPE m_ReadWriteIoType
GLenum GLuint GLenum GLsizei length
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
static __inline VOID MxReferenceObject(__in PVOID Object)
VOID MarkDisposeOverride(__in FxObjectLockState State=ObjectLock)
_Must_inspect_result_ NTSTATUS CreateDevice(__in PWDFDEVICE_INIT DeviceInit)
PVOID __inline GetObjectHandle(VOID)
size_t m_RequestLookasideListElementSize
__inline WDF_FILEOBJECT_CLASS GetFileObjectClass(VOID)
VOID ControlDeviceDelete(VOID)
static WUDF_INTERFACE_CONTEXT RemoteInterfaceArrival(_In_ IWudfDevice *DeviceObject, _In_ LPCGUID DeviceInterfaceGuid, _In_ PCWSTR SymbolicLink)
FxCallbackLock * m_CallbackLockPtr
VOID ConfigureAutoForwardCleanupClose(__in PWDFDEVICE_INIT DeviceInit)
UNICODE_STRING m_DeviceName
static NTSTATUS NtStatusFromHr(_In_ IWudfDeviceStack *DevStack, _In_ HRESULT Hr)
MdDeviceObject __inline GetAttachedDevice(VOID)
virtual VOID RemoveIoTarget(__inout FxIoTarget *IoTarget)
_Must_inspect_result_ NTSTATUS OpenDevicemapKeyWorker(_In_ PFX_DRIVER_GLOBALS pFxDriverGlobals, _In_ PCUNICODE_STRING KeyName, _In_ ACCESS_MASK DesiredAccess, _In_ FxRegKey *pKey)
_Must_inspect_result_ NTSTATUS PdoInitialize(__in PWDFDEVICE_INIT DeviceInit)
LIST_ENTRY m_CxDeviceInfoListHead
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
VOID AddToDisposeList(__inout FxObject *Object)
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)
FxMpDevice(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxDriver *Driver, __in MdDeviceObject DeviceObject, __in MdDeviceObject AttachedDevice, __in MdDeviceObject PDO)
__inline VOID SetDevicePowerPolicyState(__in WDF_DEVICE_POWER_POLICY_STATE DeviceState)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ NTSTATUS DeleteDeviceFromFailedCreateNoDelete(__in NTSTATUS FailedStatus, __in BOOLEAN UseStateMachine)
WDF_FILE_OBJECT_POLICY_TYPE m_FileObjectPolicy
enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE
FxDisposeList * m_DisposeList
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDFDEVICE_INIT *DeviceInit, __in_opt PWDF_OBJECT_ATTRIBUTES DeviceAttributes, __out FxDevice **Device)
struct _LIST_ENTRY * Flink
LIST_ENTRY m_FileObjectListHead
static _Must_inspect_result_ NTSTATUS _AcquireOptinRemoveLock(__in MdDeviceObject DeviceObject, __in MdIrp Irp)
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE PropertyType
IWudfDeviceStack * GetDeviceStack(VOID)
__inline BYTE GetCallbackFlagsLocked(VOID)
__inline FxDriver * GetCxDriver(__in FxCxDeviceInfo *CxDeviceInfo)
PFX_DRIVER_GLOBALS pFxDriverGlobals
_Must_inspect_result_ _In_ ULONG Flags
BOOLEAN __inline FxIsFileObjectOptional(__in WDF_FILEOBJECT_CLASS FileObjectClass)
static void RemoteInterfaceRemoval(_In_ IWudfDevice *DeviceObject, _In_ WUDF_INTERFACE_CONTEXT RemoteInterfaceID)
WUDF_IO_REMOVE_LOCK IoRemoveLock
BOOLEAN IsRemoveLockEnabledForIo(VOID)
MdDeviceObject __inline GetPhysicalDevice(VOID)
__inline VOID SetDevicePowerState(__in WDF_DEVICE_POWER_STATE DeviceState)
const struct winhelp_callbacks Callbacks
BOOLEAN IsInterfaceRegistered(_In_ const GUID *InterfaceClassGUID, _In_opt_ PCUNICODE_STRING RefString)
__inline VOID SetFileObjectClass(__in WDF_FILEOBJECT_CLASS FileObjectClass)
__inline BOOLEAN IsFilter()
__inline BYTE GetCallbackFlags(VOID)
enum _WDF_DEVICE_IO_BUFFER_RETRIEVAL WDF_DEVICE_IO_BUFFER_RETRIEVAL
FxDevice(__in FxDriver *ArgDriver)
WDF_FILEOBJECT_CLASS __inline FxFileObjectClassNormalize(__in WDF_FILEOBJECT_CLASS FileObjectClass)
LIST_ENTRY m_PreprocessInfoListHead
__inline CHAR GetStackSize(VOID)
__inline UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL GetRetrievalMode(VOID)
BOOLEAN m_AutoForwardCleanupClose
PVOID AllocateRequestMemory(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes)
__inline VOID ClearCallbackFlagsLocked(__in BYTE Flags)
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG DeviceInstanceKeyType
FxSpinLockTransactionedList m_IoTargetsList
VOID Add(FxObject *object)
static BOOL TransportQueryId(_In_ IWudfDevice *DeviceObject, _In_ DWORD Id, _In_ PVOID DataBuffer, _In_ SIZE_T cbDataBufferSize)
VOID WriteRegisterBuffer(__in WDF_DEVICE_HWACCESS_TARGET_SIZE Size, __in PVOID Register, __in_ecount(Count) PVOID Buffer, __in ULONG Count)
ULONG __inline GetDeviceObjectFlags(VOID)
virtual VOID SetDeviceTelemetryInfoFlags(_In_ FxDeviceInfoFlags Flag)
IN PVOID IN PVOID IN USHORT Version
__inline FxPkgFdo * GetFdoPkg(VOID)
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
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)
__inline FxPkgPdo * GetPdoPkg(VOID)
_Must_inspect_result_ NTSTATUS FdoInitialize(__in PWDFDEVICE_INIT DeviceInit)
_In_ WDFDEVICE _Out_ WDF_DEVICE_IO_TYPE _Out_ WDF_DEVICE_IO_TYPE * IoControlIoType
__inline WDF_DEVICE_IO_TYPE GetPreferredIoctlTransferMode(VOID)
__inline BOOLEAN IsPowerPageableCapable(VOID)
__inline FxDriver * GetDriver(VOID)
VOID SetCleanupFromFailedCreate(BOOLEAN Value)
FxIoTargetSelf * GetSelfIoTarget(VOID)
WDF_EXECUTION_LEVEL m_ExecutionLevel
MxDeviceObject m_PhysicalDevice
__inline WDF_DEVICE_PNP_STATE GetDevicePnpState()
_Must_inspect_result_ NTSTATUS AssignProperty(_In_ PVOID PropertyData, _In_ FxPropertyType FxPropertyType, _In_ DEVPROPTYPE Type, _In_ ULONG BufferLength, _In_opt_ PVOID PropertyBuffer)
NTSTATUS CreateSymbolicLink(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PCUNICODE_STRING SymbolicLinkName)
_Must_inspect_result_ _In_ WDFCMRESLIST List
_Must_inspect_result_ NTSTATUS OpenSettingsKey(__out HANDLE *Key, __in ACCESS_MASK DesiredAccess=STANDARD_RIGHTS_ALL)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID PropertyBuffer
BOOLEAN m_SelfIoTargetNeeded
CHAR m_DefaultPriorityBoost
VOID FxLogDeviceStartTelemetryEvent(VOID)
_In_ PTRANSFER_PACKET _In_ ULONG _In_ PIRP OriginalIrp
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
#define IRP_MJ_SYSTEM_CONTROL
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
FxPkgGeneral * m_PkgGeneral
_In_ ULONG _In_ ACCESS_MASK _Out_ PHANDLE DevInstRegKey
#define InterlockedExchange
virtual _Must_inspect_result_ NTSTATUS AddIoTarget(__inout FxIoTarget *IoTarget)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
MdDeviceObject __inline GetSafePhysicalDevice(VOID)
WDF_OBJECT_ATTRIBUTES m_RequestAttributes
VOID __inline DestroyChildren(VOID)
static VOID GetPreferredTransferMode(_In_ MdDeviceObject DeviceObject, _Out_ UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL *RetrievalMode, _Out_ WDF_DEVICE_IO_TYPE *RWPreference, _Out_ WDF_DEVICE_IO_TYPE *IoctlPreference)
_Must_inspect_result_ NTSTATUS PreprocessIrp(__in MdIrp Irp)
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __in ULONG __in_ecount(ValueLength) PVOID Value)
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
static FxWdmDeviceExtension * _GetFxWdmExtension(__in MdDeviceObject DeviceObject)
__inline MdDeviceObject GetObject(VOID)
WDF_SYNCHRONIZATION_SCOPE m_SynchronizationScope
__inline BOOLEAN IsCxInIoPath(VOID)
VOID DeleteSymbolicLink(VOID)
static unsigned __int64 next
#define STANDARD_RIGHTS_ALL
ioTypeConfig ReadWriteIoType
__inline CHAR GetDefaultPriorityBoost(VOID)
BOOLEAN m_PowerPageableCapable
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
static void PoFxDevicePowerRequired(_In_ MdDeviceObject DeviceObject)
FxCxDeviceInfo * GetCxDeviceInfo(__in FxDriver *CxDriver)
__inline VOID CallCleanup(VOID)
FxCallbackLock * GetCallbackLockPtr(__out_opt FxObject **LockObject)
FxObject * m_CallbackLockObjectPtr
WDF_DEVICE_PNP_STATE m_CurrentPnpState
__inline WDF_DEVICE_IO_TYPE GetIoTypeForReadWriteBufferAccess(VOID)
__inline _Must_inspect_result_ NTSTATUS AcquireDmaPacketTransaction(VOID)
FxDmaPacketTransactionStatus
__inline VOID SetStackSize(_In_ CHAR Size)
WDF_REGISTER_ACCESS_MODE_TYPE m_RegisterAccessMode
static FxDeviceRemLockAction __inline _RequiresRemLock(__in UCHAR MajorCode, __in UCHAR MinorCode)
__inline VOID ClearCallbackFlags(__in BYTE Flags)
ULONG RemoveLockOptionFlags
virtual VOID AddDmaEnabler(__inout FxDmaEnabler *Enabler)
static VOID STDCALL _InterfaceDereferenceNoOp(__in_opt PVOID Context)
FxInterruptThreadpool * GetInterruptThreadpool(VOID)
_Must_inspect_result_ NTSTATUS DispatchPreprocessedIrp(__in MdIrp Irp, __in PVOID DispatchContext)
__inline WDF_DEVICE_POWER_POLICY_STATE GetDevicePowerPolicyState()
enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
virtual VOID RemoveChildList(__inout FxChildList *List)
virtual VOID AddChildList(__inout FxChildList *List)
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)
FxInterruptThreadpool * m_InteruptThreadpool
BOOLEAN m_ParentWaitingOnChild
static _Must_inspect_result_ NTSTATUS _OpenKey(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_opt_ PWDFDEVICE_INIT DeviceInit, _In_opt_ FxDevice *Device, _In_ ULONG DeviceInstanceKeyType, _In_ ACCESS_MASK DesiredAccess, _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes, _Out_ WDFKEY *Key)
BOOLEAN IsInterruptAccessAllowed(VOID)
__inline VOID SetParentWaitingOnRemoval(VOID)
VOID FinishInitializing(VOID)
static __inline NTSTATUS _GetDeviceProperty(_In_ MdDeviceObject DeviceObject, _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty, _In_ ULONG BufferLength, _Out_opt_ PVOID PropertyBuffer, _Out_ PULONG ResultLength)
WDF_FS_CONTEXT_USE_POLICY_TYPE m_FsContextUsePolicy
VOID GetConstraints(__out_opt WDF_EXECUTION_LEVEL *ExecutionLevel, __out_opt WDF_SYNCHRONIZATION_SCOPE *SynchronizationScope)
__inline VOID SetDevicePnpState(__in WDF_DEVICE_PNP_STATE DeviceState)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
__inline PWDF_OBJECT_ATTRIBUTES GetRequestAttributes(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
_Must_inspect_result_ NTSTATUS PostInitialize(VOID)
WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL
virtual _Must_inspect_result_ NTSTATUS AllocateDmaEnablerList(VOID)
ULONG m_DirectTransferThreshold
_In_ PWDFDEVICE_INIT DeviceInit
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
__inline BOOLEAN IsCxDriverInIoPath(__in FxDriver *CxDriver)
__inline BOOLEAN IsPdo(VOID)
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
_Must_inspect_result_ NTSTATUS DeleteDeviceFromFailedCreate(__in NTSTATUS FailedStatus, __in BOOLEAN UseStateMachine)
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID * InterfaceClassGUID
VOID ReadRegisterBuffer(__in WDF_DEVICE_HWACCESS_TARGET_SIZE Size, __in PVOID Register, __out_ecount_full(Count) PVOID Buffer, __in ULONG Count)
LONG m_DmaPacketTransactionStatus
virtual FxIoTarget * GetDefaultIoTarget(VOID)
__inline BOOLEAN IsExclusive(VOID)
virtual VOID AddChildList(__inout FxChildList *List)
BOOLEAN HasConnectionResources(VOID)
virtual BOOLEAN Dispose(VOID)
WDF_DIRECT_HARDWARE_ACCESS_TYPE m_DirectHardwareAccess
VOID RetrieveDeviceRegistrySettings(VOID)
static _Must_inspect_result_ NTSTATUS STDCALL Dispatch(__in MdDeviceObject DeviceObject, __in MdIrp OriginalIrp)
static ULONG __inline GetLength(__in WDF_DEVICE_HWACCESS_TARGET_SIZE Size)
USHORT GetDeviceTelemetryInfoFlags(VOID)
__inline VOID ReleaseDmaPacketTransaction(VOID)
static __inline VOID MxDereferenceObject(__in PVOID Object)
PVOID GetPseudoAddressFromSystemAddress(__in PVOID SystemAddress)
_Must_inspect_result_ _In_ WDFDRIVER Driver
virtual FxIoTarget * GetDefaultIoTarget(VOID)
SIZE_T ReadRegister(__in WDF_DEVICE_HWACCESS_TARGET_SIZE Size, __in PVOID Register)
UINT64 WUDF_INTERFACE_CONTEXT
virtual _Must_inspect_result_ NTSTATUS AllocateDmaEnablerList(VOID)
FxMessageDispatch * m_Dispatcher
NTSTATUS ProcessWmiPowerQueryOrSetData(_In_ RdWmiPowerAction Action, _Out_ BOOLEAN *QueryResult)
ULONG __inline GetAttachedDeviceObjectFlags(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
MxDeviceObject m_DeviceObject
static const WCHAR SymbolicLink[]
VOID SetFilterIoType(VOID)
BOOLEAN m_DeviceObjectDeleted
VOID SetStackSize(_In_ CCHAR Size)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
#define IRP_MJ_DEVICE_CONTROL
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT PhysicalDevice
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
virtual VOID DeleteObject(VOID)
#define LockObject(Object)
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__inout FxQueryInterfaceParams *Params)