ReactOS 0.4.15-dev-7788-g1ad9096
wdfdevice.h File Reference
#include <devpropdef.h>
#include <wdmsec.h>
Include dependency graph for wdfdevice.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _WDF_FILEOBJECT_CONFIG
 
struct  _WDF_DEVICE_PNP_NOTIFICATION_DATA
 
struct  _WDF_DEVICE_POWER_NOTIFICATION_DATA
 
struct  _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA
 
struct  _WDF_PNPPOWER_EVENT_CALLBACKS
 
struct  _WDF_POWER_POLICY_EVENT_CALLBACKS
 
struct  _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS
 
struct  _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS
 
struct  _WDF_DEVICE_STATE
 
struct  _WDF_DEVICE_PNP_CAPABILITIES
 
struct  _WDF_DEVICE_POWER_CAPABILITIES
 
struct  _WDF_REMOVE_LOCK_OPTIONS
 
struct  _WDF_POWER_FRAMEWORK_SETTINGS
 
struct  _WDF_IO_TYPE_CONFIG
 
struct  _WDF_DEVICE_PROPERTY_DATA
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 
#define WDF_S0_IDLE_ENABLED_VALUE_NAME   L"IdleInWorkingState"
 
#define WDF_SX_WAKE_ENABLED_VALUE_NAME   L"WakeFromSleepState"
 
#define WDF_S0_IDLE_DEFAULT_VALUE_NAME   L"WdfDefaultIdleInWorkingState"
 
#define WDF_SX_WAKE_DEFAULT_VALUE_NAME   L"WdfDefaultWakeFromSleepState"
 
#define IdleTimeoutDefaultValue   ((ULONG) IdleTimeoutDefaultConstant)
 
#define WdfDeviceStopIdle(Device, WaitForD0)    WdfDeviceStopIdleWithTag(Device, WaitForD0, NULL)
 
#define WdfDeviceStopIdleWithTag(Device, WaitForD0, Tag)    WdfDeviceStopIdleActual(Device, WaitForD0, Tag, __LINE__, __FILE__)
 
#define WdfDeviceResumeIdle(Device)    WdfDeviceResumeIdleWithTag(Device, NULL)
 
#define WdfDeviceResumeIdleWithTag(Device, Tag)    WdfDeviceResumeIdleActual(Device, Tag, __LINE__, __FILE__)
 

Typedefs

typedef WDF_EXTERN_C_START enum _WDF_DEVICE_STATE_FLAGS WDF_DEVICE_STATE_FLAGS
 
typedef enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
 
typedef enum _WDF_DEVICE_PNP_STATEPWDF_DEVICE_PNP_STATE
 
typedef enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
 
typedef enum _WDF_DEVICE_POWER_STATEPWDF_DEVICE_POWER_STATE
 
typedef enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
 
typedef enum _WDF_DEVICE_POWER_POLICY_STATEPWDF_DEVICE_POWER_POLICY_STATE
 
typedef enum _WDF_STATE_NOTIFICATION_TYPE WDF_STATE_NOTIFICATION_TYPE
 
typedef enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
 
typedef enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
 
typedef enum _WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS
 
typedef enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL WDF_POWER_POLICY_SX_WAKE_USER_CONTROL
 
typedef enum _WDF_POWER_DEVICE_STATE WDF_POWER_DEVICE_STATE
 
typedef enum _WDF_POWER_DEVICE_STATEPWDF_POWER_DEVICE_STATE
 
typedef enum _WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS
 
typedef enum _WDF_SPECIAL_FILE_TYPE WDF_SPECIAL_FILE_TYPE
 
typedef enum _WDF_SPECIAL_FILE_TYPEPWDF_SPECIAL_FILE_TYPE
 
typedef enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
 
typedef enum _WDF_DEVICE_IO_TYPEPWDF_DEVICE_IO_TYPE
 
typedef enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
 
typedef enum _WDF_FILEOBJECT_CLASSPWDF_FILEOBJECT_CLASS
 
typedef enum _WDF_DEVICE_FAILED_ACTION WDF_DEVICE_FAILED_ACTION
 
typedef enum _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE
 
typedef enum _WDF_RELEASE_HARDWARE_ORDER_ON_FAILUREPWDF_RELEASE_HARDWARE_ORDER_ON_FAILURE
 
typedef enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
 
typedef _In_ WDFREQUEST Request
 
typedef _In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
 
typedef EVT_WDF_DEVICE_FILE_CREATE * PFN_WDF_DEVICE_FILE_CREATE
 
typedef EVT_WDF_FILE_CLOSE * PFN_WDF_FILE_CLOSE
 
typedef EVT_WDF_FILE_CLEANUP * PFN_WDF_FILE_CLEANUP
 
typedef struct _WDF_FILEOBJECT_CONFIG WDF_FILEOBJECT_CONFIG
 
typedef struct _WDF_FILEOBJECT_CONFIGPWDF_FILEOBJECT_CONFIG
 
typedef struct _WDF_DEVICE_PNP_NOTIFICATION_DATA WDF_DEVICE_PNP_NOTIFICATION_DATA
 
typedef const WDF_DEVICE_PNP_NOTIFICATION_DATAPCWDF_DEVICE_PNP_NOTIFICATION_DATA
 
typedef struct _WDF_DEVICE_POWER_NOTIFICATION_DATA WDF_DEVICE_POWER_NOTIFICATION_DATA
 
typedef const WDF_DEVICE_POWER_NOTIFICATION_DATAPCWDF_DEVICE_POWER_NOTIFICATION_DATA
 
typedef struct _WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA
 
typedef const WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATAPCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA
 
typedef _In_ PCWDF_DEVICE_PNP_NOTIFICATION_DATA NotificationData
 
typedef EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION * PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION
 
typedef EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION * PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION
 
typedef EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION * PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION
 
typedef _In_ WDF_POWER_DEVICE_STATE PreviousState
 
typedef EVT_WDF_DEVICE_D0_ENTRY * PFN_WDF_DEVICE_D0_ENTRY
 
typedef EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED * PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED
 
typedef _In_ WDF_POWER_DEVICE_STATE TargetState
 
typedef EVT_WDF_DEVICE_D0_EXIT * PFN_WDF_DEVICE_D0_EXIT
 
typedef EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED * PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED
 
typedef _In_ WDFCMRESLIST ResourcesRaw
 
typedef _In_ WDFCMRESLIST _In_ WDFCMRESLIST ResourcesTranslated
 
typedef EVT_WDF_DEVICE_PREPARE_HARDWARE * PFN_WDF_DEVICE_PREPARE_HARDWARE
 
typedef EVT_WDF_DEVICE_RELEASE_HARDWARE * PFN_WDF_DEVICE_RELEASE_HARDWARE
 
typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP * PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP
 
typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH * PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH
 
typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT * PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT
 
typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND * PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND
 
typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART * PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART
 
typedef EVT_WDF_DEVICE_QUERY_STOP * PFN_WDF_DEVICE_QUERY_STOP
 
typedef EVT_WDF_DEVICE_QUERY_REMOVE * PFN_WDF_DEVICE_QUERY_REMOVE
 
typedef EVT_WDF_DEVICE_SURPRISE_REMOVAL * PFN_WDF_DEVICE_SURPRISE_REMOVAL
 
typedef _In_ WDF_SPECIAL_FILE_TYPE NotificationType
 
typedef _In_ WDF_SPECIAL_FILE_TYPE _In_ BOOLEAN IsInNotificationPath
 
typedef EVT_WDF_DEVICE_USAGE_NOTIFICATION * PFN_WDF_DEVICE_USAGE_NOTIFICATION
 
typedef EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX * PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX
 
typedef _In_ DEVICE_RELATION_TYPE RelationType
 
typedef EVT_WDF_DEVICE_RELATIONS_QUERY * PFN_WDF_DEVICE_RELATIONS_QUERY
 
typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_ARM_WAKE_FROM_S0
 
typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_SX * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX
 
typedef _In_ BOOLEAN DeviceWakeEnabled
 
typedef _In_ BOOLEAN _In_ BOOLEAN ChildrenArmedForWake
 
typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON * PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON
 
typedef EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 * PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0
 
typedef EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX * PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX
 
typedef EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED
 
typedef EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED * PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED
 
typedef struct _WDF_PNPPOWER_EVENT_CALLBACKS WDF_PNPPOWER_EVENT_CALLBACKS
 
typedef struct _WDF_PNPPOWER_EVENT_CALLBACKSPWDF_PNPPOWER_EVENT_CALLBACKS
 
typedef struct _WDF_POWER_POLICY_EVENT_CALLBACKS WDF_POWER_POLICY_EVENT_CALLBACKS
 
typedef struct _WDF_POWER_POLICY_EVENT_CALLBACKSPWDF_POWER_POLICY_EVENT_CALLBACKS
 
typedef enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
 
typedef enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPEPWDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
 
typedef struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS
 
typedef struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGSPWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS
 
typedef struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS
 
typedef struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGSPWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS
 
typedef struct _WDF_DEVICE_STATE WDF_DEVICE_STATE
 
typedef struct _WDF_DEVICE_STATEPWDF_DEVICE_STATE
 
typedef struct _WDF_DEVICE_PNP_CAPABILITIES WDF_DEVICE_PNP_CAPABILITIES
 
typedef struct _WDF_DEVICE_PNP_CAPABILITIESPWDF_DEVICE_PNP_CAPABILITIES
 
typedef struct _WDF_DEVICE_POWER_CAPABILITIES WDF_DEVICE_POWER_CAPABILITIES
 
typedef struct _WDF_DEVICE_POWER_CAPABILITIESPWDF_DEVICE_POWER_CAPABILITIES
 
typedef enum _WDF_REMOVE_LOCK_OPTIONS_FLAGS WDF_REMOVE_LOCK_OPTIONS_FLAGS
 
typedef struct _WDF_REMOVE_LOCK_OPTIONS WDF_REMOVE_LOCK_OPTIONS
 
typedef struct _WDF_REMOVE_LOCK_OPTIONSPWDF_REMOVE_LOCK_OPTIONS
 
typedef _Inout_ PIRP Irp
 
typedef EVT_WDFDEVICE_WDM_IRP_PREPROCESS * PFN_WDFDEVICE_WDM_IRP_PREPROCESS
 
typedef _In_ UCHAR MajorFunction
 
typedef _In_ UCHAR _In_ UCHAR MinorFunction
 
typedef _In_ UCHAR _In_ UCHAR _In_ ULONG Code
 
typedef _In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
 
typedef _In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
 
typedef EVT_WDFDEVICE_WDM_IRP_DISPATCH * PFN_WDFDEVICE_WDM_IRP_DISPATCH
 
typedef EVT_WDF_IO_IN_CALLER_CONTEXT * PFN_WDF_IO_IN_CALLER_CONTEXT
 
typedef _In_ POHANDLE PoHandle
 
typedef EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE * PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE
 
typedef EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE * PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE
 
typedef struct _WDF_POWER_FRAMEWORK_SETTINGS WDF_POWER_FRAMEWORK_SETTINGS
 
typedef struct _WDF_POWER_FRAMEWORK_SETTINGSPWDF_POWER_FRAMEWORK_SETTINGS
 
typedef struct _WDF_IO_TYPE_CONFIG WDF_IO_TYPE_CONFIG
 
typedef struct _WDF_IO_TYPE_CONFIGPWDF_IO_TYPE_CONFIG
 
typedef struct _WDF_DEVICE_PROPERTY_DATA WDF_DEVICE_PROPERTY_DATA
 
typedef struct _WDF_DEVICE_PROPERTY_DATAPWDF_DEVICE_PROPERTY_DATA
 
typedef _In_ WDFDEVICE Device
 
typedef _In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
 
typedef _In_ PDEVICE_OBJECT DeviceObject
 
typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE _In_ ULONG Flags
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT DependentDevice
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT PhysicalDevice
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING MofResourceName
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG DeviceInstanceKeyType
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
 
typedef _In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE FileType
 
typedef _In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE _In_ BOOLEAN FileTypeIsSupported
 
typedef _In_ WDFDEVICE _In_ ULONG DeviceCharacteristics
 
typedef _In_ WDFDEVICE _In_ ULONG AlignmentRequirement
 
typedef _In_ PWDFDEVICE_INIT DeviceInit
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
 
typedef _In_ PWDFDEVICE_INIT _In_ BOOLEAN IsPowerPolicyOwner
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE PnpState
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION _In_ ULONG CallbackTypes
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE PowerState
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE _In_ PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_POLICY_STATE _In_ PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange
 
typedef _In_ PWDFDEVICE_INIT _In_ BOOLEAN IsExclusive
 
typedef _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_IO_TYPE IoType
 
typedef _In_ PWDFDEVICE_INIT _In_ DEVICE_TYPE DeviceType
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING SDDLString
 
typedef _In_ PWDFDEVICE_INIT _In_ CONST GUIDDeviceClassGuid
 
typedef _In_ PWDFDEVICE_INIT _In_ ULONG _In_ BOOLEAN OrInValues
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG FileObjectConfig
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) _When_(NumMinorFunctions == 0
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR MinorFunctions
 
typedef _Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR _In_ ULONG NumMinorFunctions
 
typedef _In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
 
typedef _Must_inspect_result_ _Inout_ PWDFDEVICE_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES DeviceAttributes
 
typedef _In_ WDFDEVICE _In_ BOOLEAN Stoppable
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUIDInterfaceClassGUID
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING ReferenceString
 
typedef _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING _In_ BOOLEAN IsInterfaceEnabled
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_writes_bytes_all_(BufferLength) PVOID PropertyBuffer
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
 
typedef _In_ WDFDEVICE _In_ PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
 
typedef _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
 
typedef _In_ WDFDEVICE _In_ PPNP_BUS_INFORMATION BusInformation
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ NTSTATUS WaitWakeStatus
 
typedef _In_ WDFDEVICE _In_ WDF_DEVICE_FAILED_ACTION FailedAction
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN WaitForD0
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG Line
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG _In_z_ PCHAR File
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER Driver
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
 
typedef _In_ PWDFDEVICE_INIT _In_ WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
 
typedef _In_ PWDFDEVICE_INIT _In_ PWDF_IO_TYPE_CONFIG IoTypeConfig
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID PropertyBuffer
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE Type
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
 

Enumerations

enum  _WDF_DEVICE_STATE_FLAGS { WdfDevStateNP = 0x8000 }
 
enum  _WDF_DEVICE_PNP_STATE {
  WdfDevStatePnpInvalid = 0x00 , WdfDevStatePnpObjectCreated = 0x100 , WdfDevStatePnpCheckForDevicePresence = 0x101 , WdfDevStatePnpEjectFailed = 0x102 ,
  WdfDevStatePnpEjectHardware = 0x103 , WdfDevStatePnpEjectedWaitingForRemove = 0x104 , WdfDevStatePnpInit = 0x105 , WdfDevStatePnpInitStarting = 0x106 ,
  WdfDevStatePnpInitSurpriseRemoved = 0x107 , WdfDevStatePnpHardwareAvailable = 0x108 , WdfDevStatePnpEnableInterfaces = 0x109 , WdfDevStatePnpHardwareAvailablePowerPolicyFailed = 0x10A ,
  WdfDevStatePnpQueryRemoveAskDriver = 0x10B , WdfDevStatePnpQueryRemovePending = 0x10C , WdfDevStatePnpQueryRemoveStaticCheck = 0x10D , WdfDevStatePnpQueriedRemoving = 0x10E ,
  WdfDevStatePnpQueryStopAskDriver = 0x10F , WdfDevStatePnpQueryStopPending = 0x110 , WdfDevStatePnpQueryStopStaticCheck = 0x111 , WdfDevStatePnpQueryCanceled = 0x112 ,
  WdfDevStatePnpRemoved = 0x113 , WdfDevStatePnpPdoRemoved = 0x114 , WdfDevStatePnpRemovedPdoWait = 0x115 , WdfDevStatePnpRemovedPdoSurpriseRemoved = 0x116 ,
  WdfDevStatePnpRemovingDisableInterfaces = 0x117 , WdfDevStatePnpRestarting = 0x118 , WdfDevStatePnpStarted = 0x119 , WdfDevStatePnpStartedCancelStop = 0x11A ,
  WdfDevStatePnpStartedCancelRemove = 0x11B , WdfDevStatePnpStartedRemoving = 0x11C , WdfDevStatePnpStartingFromStopped = 0x11D , WdfDevStatePnpStopped = 0x11E ,
  WdfDevStatePnpStoppedWaitForStartCompletion = 0x11F , WdfDevStatePnpStartedStopping = 0x120 , WdfDevStatePnpSurpriseRemove = 0x121 , WdfDevStatePnpInitQueryRemove = 0x122 ,
  WdfDevStatePnpInitQueryRemoveCanceled = 0x123 , WdfDevStatePnpFdoRemoved = 0x124 , WdfDevStatePnpRemovedWaitForChildren = 0x125 , WdfDevStatePnpQueriedSurpriseRemove = 0x126 ,
  WdfDevStatePnpSurpriseRemoveIoStarted = 0x127 , WdfDevStatePnpFailedPowerDown = 0x128 , WdfDevStatePnpFailedIoStarting = 0x129 , WdfDevStatePnpFailedOwnHardware = 0x12A ,
  WdfDevStatePnpFailed = 0x12B , WdfDevStatePnpFailedSurpriseRemoved = 0x12C , WdfDevStatePnpFailedStarted = 0x12D , WdfDevStatePnpFailedWaitForRemove = 0x12E ,
  WdfDevStatePnpFailedInit = 0x12F , WdfDevStatePnpPdoInitFailed = 0x130 , WdfDevStatePnpRestart = 0x131 , WdfDevStatePnpRestartReleaseHardware = 0x132 ,
  WdfDevStatePnpRestartHardwareAvailable = 0x133 , WdfDevStatePnpPdoRestart = 0x134 , WdfDevStatePnpFinal = 0x135 , WdfDevStatePnpRemovedChildrenRemoved = 0x136 ,
  WdfDevStatePnpQueryRemoveEnsureDeviceAwake = 0x137 , WdfDevStatePnpQueryStopEnsureDeviceAwake = 0x138 , WdfDevStatePnpFailedPowerPolicyRemoved = 0x139 , WdfDevStatePnpNull = 0x13A
}
 
enum  _WDF_DEVICE_POWER_STATE {
  WdfDevStatePowerInvalid = 0x00 , WdfDevStatePowerObjectCreated = 0x300 , WdfDevStatePowerCheckDeviceType = 0x301 , WdfDevStatePowerCheckDeviceTypeNP = 0x302 | WdfDevStateNP ,
  WdfDevStatePowerCheckParentState = 0x303 , WdfDevStatePowerCheckParentStateNP = 0x304 | WdfDevStateNP , WdfDevStatePowerEnablingWakeAtBus = 0x305 , WdfDevStatePowerEnablingWakeAtBusNP = 0x306 | WdfDevStateNP ,
  WdfDevStatePowerD0 = 0x307 , WdfDevStatePowerD0NP = 0x308 | WdfDevStateNP , WdfDevStatePowerD0BusWakeOwner = 0x309 , WdfDevStatePowerD0BusWakeOwnerNP = 0x30A | WdfDevStateNP ,
  WdfDevStatePowerD0ArmedForWake = 0x30B , WdfDevStatePowerD0ArmedForWakeNP = 0x30C | WdfDevStateNP , WdfDevStatePowerD0DisarmingWakeAtBus = 0x30D , WdfDevStatePowerD0DisarmingWakeAtBusNP = 0x30E | WdfDevStateNP ,
  WdfDevStatePowerD0Starting = 0x30F , WdfDevStatePowerD0StartingConnectInterrupt = 0x310 , WdfDevStatePowerD0StartingDmaEnable = 0x311 , WdfDevStatePowerD0StartingStartSelfManagedIo = 0x312 ,
  WdfDevStatePowerDecideD0State = 0x313 , WdfDevStatePowerGotoD3Stopped = 0x314 , WdfDevStatePowerStopped = 0x315 , WdfDevStatePowerStartingCheckDeviceType = 0x316 ,
  WdfDevStatePowerStartingChild = 0x317 , WdfDevStatePowerDxDisablingWakeAtBus = 0x318 , WdfDevStatePowerDxDisablingWakeAtBusNP = 0x319 | WdfDevStateNP , WdfDevStatePowerGotoDx = 0x31A ,
  WdfDevStatePowerGotoDxNP = 0x31B | WdfDevStateNP , WdfDevStatePowerGotoDxIoStopped = 0x31C , WdfDevStatePowerGotoDxIoStoppedNP = 0x31D | WdfDevStateNP , WdfDevStatePowerGotoDxNPFailed = 0x31E | WdfDevStateNP ,
  WdfDevStatePowerDx = 0x31F , WdfDevStatePowerDxNP = 0x320 | WdfDevStateNP , WdfDevStatePowerGotoDxArmedForWake = 0x321 , WdfDevStatePowerGotoDxArmedForWakeNP = 0x322 | WdfDevStateNP ,
  WdfDevStatePowerGotoDxIoStoppedArmedForWake = 0x323 , WdfDevStatePowerGotoDxIoStoppedArmedForWakeNP = 0x324 | WdfDevStateNP , WdfDevStatePowerDxArmedForWake = 0x325 , WdfDevStatePowerDxArmedForWakeNP = 0x326 | WdfDevStateNP ,
  WdfDevStatePowerCheckParentStateArmedForWake = 0x327 , WdfDevStatePowerCheckParentStateArmedForWakeNP = 0x328 | WdfDevStateNP , WdfDevStatePowerWaitForParentArmedForWake = 0x329 , WdfDevStatePowerWaitForParentArmedForWakeNP = 0x32A | WdfDevStateNP ,
  WdfDevStatePowerStartSelfManagedIo = 0x32B , WdfDevStatePowerStartSelfManagedIoNP = 0x32C | WdfDevStateNP , WdfDevStatePowerStartSelfManagedIoFailed = 0x32D , WdfDevStatePowerStartSelfManagedIoFailedNP = 0x32E | WdfDevStateNP ,
  WdfDevStatePowerWaitForParent = 0x32F , WdfDevStatePowerWaitForParentNP = 0x330 | WdfDevStateNP , WdfDevStatePowerWakePending = 0x331 , WdfDevStatePowerWakePendingNP = 0x332 | WdfDevStateNP ,
  WdfDevStatePowerWaking = 0x333 , WdfDevStatePowerWakingNP = 0x334 | WdfDevStateNP , WdfDevStatePowerWakingConnectInterrupt = 0x335 , WdfDevStatePowerWakingConnectInterruptNP = 0x336 | WdfDevStateNP ,
  WdfDevStatePowerWakingConnectInterruptFailed = 0x337 , WdfDevStatePowerWakingConnectInterruptFailedNP = 0x338 | WdfDevStateNP , WdfDevStatePowerWakingDmaEnable = 0x339 , WdfDevStatePowerWakingDmaEnableNP = 0x33A | WdfDevStateNP ,
  WdfDevStatePowerWakingDmaEnableFailed = 0x33B , WdfDevStatePowerWakingDmaEnableFailedNP = 0x33C | WdfDevStateNP , WdfDevStatePowerReportPowerUpFailedDerefParent = 0x33D , WdfDevStatePowerReportPowerUpFailed = 0x33E ,
  WdfDevStatePowerPowerFailedPowerDown = 0x33F , WdfDevStatePowerReportPowerDownFailed = 0x340 , WdfDevStatePowerInitialConnectInterruptFailed = 0x341 , WdfDevStatePowerInitialDmaEnableFailed = 0x342 ,
  WdfDevStatePowerInitialSelfManagedIoFailed = 0x343 , WdfDevStatePowerInitialPowerUpFailedDerefParent = 0x344 , WdfDevStatePowerInitialPowerUpFailed = 0x345 , WdfDevStatePowerDxStoppedDisarmWake = 0x346 ,
  WdfDevStatePowerDxStoppedDisarmWakeNP = 0x347 | WdfDevStateNP , WdfDevStatePowerGotoDxStoppedDisableInterruptNP = 0x348 | WdfDevStateNP , WdfDevStatePowerGotoDxStopped = 0x349 , WdfDevStatePowerDxStopped = 0x34A ,
  WdfDevStatePowerGotoStopped = 0x34B , WdfDevStatePowerStoppedCompleteDx = 0x34C , WdfDevStatePowerDxStoppedDecideDxState = 0x34D , WdfDevStatePowerDxStoppedArmForWake = 0x34E ,
  WdfDevStatePowerDxStoppedArmForWakeNP = 0x34F | WdfDevStateNP , WdfDevStatePowerFinalPowerDownFailed = 0x350 , WdfDevStatePowerFinal = 0x351 , WdfDevStatePowerGotoImplicitD3DisarmWakeAtBus = 0x352 ,
  WdfDevStatePowerUpFailed = 0x353 , WdfDevStatePowerUpFailedDerefParent = 0x354 , WdfDevStatePowerGotoDxFailed = 0x355 , WdfDevStatePowerGotoDxStoppedDisableInterrupt = 0x356 ,
  WdfDevStatePowerUpFailedNP = 0x357 | WdfDevStateNP , WdfDevStatePowerUpFailedDerefParentNP = 0x358 | WdfDevStateNP , WdfDevStatePowerNotifyingD0ExitToWakeInterrupts = 0x359 , WdfDevStatePowerNotifyingD0EntryToWakeInterrupts = 0x35A ,
  WdfDevStatePowerNotifyingD0ExitToWakeInterruptsNP = 0x35B | WdfDevStateNP , WdfDevStatePowerNotifyingD0EntryToWakeInterruptsNP = 0x35C | WdfDevStateNP , WdfDevStatePowerNull = 0x35D
}
 
enum  _WDF_DEVICE_POWER_POLICY_STATE {
  WdfDevStatePwrPolInvalid = 0x00 , WdfDevStatePwrPolObjectCreated = 0x500 , WdfDevStatePwrPolStarting = 0x501 , WdfDevStatePwrPolStartingSucceeded = 0x502 ,
  WdfDevStatePwrPolStartingFailed = 0x503 , WdfDevStatePwrPolStartingDecideS0Wake = 0x504 , WdfDevStatePwrPolStartedIdleCapable = 0x505 , WdfDevStatePwrPolTimerExpiredNoWake = 0x506 ,
  WdfDevStatePwrPolTimerExpiredNoWakeCompletePowerDown = 0x507 , WdfDevStatePwrPolWaitingUnarmed = 0x508 , WdfDevStatePwrPolWaitingUnarmedQueryIdle = 0x509 , WdfDevStatePwrPolS0NoWakePowerUp = 0x50A ,
  WdfDevStatePwrPolS0NoWakeCompletePowerUp = 0x50B , WdfDevStatePwrPolSystemSleepFromDeviceWaitingUnarmed = 0x50C , WdfDevStatePwrPolSystemSleepNeedWake = 0x50D , WdfDevStatePwrPolSystemSleepNeedWakeCompletePowerUp = 0x50E ,
  WdfDevStatePwrPolSystemSleepPowerRequestFailed = 0x50F , WdfDevStatePwrPolCheckPowerPageable = 0x510 , WdfDevStatePwrPolSleepingWakeWakeArrived = 0x511 , WdfDevStatePwrPolSleepingWakeRevertArmWake = 0x512 ,
  WdfDevStatePwrPolSystemAsleepWakeArmed = 0x513 , WdfDevStatePwrPolSystemWakeDeviceWakeEnabled = 0x514 , WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceled = 0x515 , WdfDevStatePwrPolSystemWakeDeviceWakeDisarm = 0x516 ,
  WdfDevStatePwrPolSystemWakeDeviceWakeTriggered = 0x517 , WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0 = 0x518 , WdfDevStatePwrPolSystemWakeDeviceWokeDisarm = 0x519 , WdfDevStatePwrPolSleepingWakeWakeArrivedNP = 0x51A | WdfDevStateNP ,
  WdfDevStatePwrPolSleepingWakeRevertArmWakeNP = 0x51B | WdfDevStateNP , WdfDevStatePwrPolSleepingWakePowerDownFailed = 0x51C , WdfDevStatePwrPolSleepingWakePowerDownFailedWakeCanceled = 0x51D , WdfDevStatePwrPolSystemAsleepWakeArmedNP = 0x51E | WdfDevStateNP ,
  WdfDevStatePwrPolSystemWakeDeviceWakeEnabledNP = 0x51F | WdfDevStateNP , WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceledNP = 0x520 | WdfDevStateNP , WdfDevStatePwrPolSystemWakeDeviceWakeDisarmNP = 0x521 | WdfDevStateNP , WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredNP = 0x522 | WdfDevStateNP ,
  WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0NP = 0x523 | WdfDevStateNP , WdfDevStatePwrPolSystemWakeDeviceWokeDisarmNP = 0x524 | WdfDevStateNP , WdfDevStatePwrPolSystemWakeDeviceWakeCompletePowerUp = 0x525 , WdfDevStatePwrPolSleeping = 0x526 ,
  WdfDevStatePwrPolSleepingNoWakePowerDown = 0x527 , WdfDevStatePwrPolSleepingNoWakeCompletePowerDown = 0x528 , WdfDevStatePwrPolSleepingNoWakeDxRequestFailed = 0x529 , WdfDevStatePwrPolSleepingWakePowerDown = 0x52A ,
  WdfDevStatePwrPolSleepingSendWake = 0x52B , WdfDevStatePwrPolSystemAsleepNoWake = 0x52C , WdfDevStatePwrPolSystemWakeDeviceWakeDisabled = 0x52D , WdfDevStatePwrPolSystemWakeDeviceToD0 = 0x52E ,
  WdfDevStatePwrPolSystemWakeDeviceToD0CompletePowerUp = 0x52F , WdfDevStatePwrPolSystemWakeQueryIdle = 0x530 , WdfDevStatePwrPolStartedWakeCapable = 0x531 , WdfDevStatePwrPolTimerExpiredDecideUsbSS = 0x532 ,
  WdfDevStatePwrPolTimerExpiredWakeCapablePowerDown = 0x533 , WdfDevStatePwrPolTimerExpiredWakeCapableSendWake = 0x534 , WdfDevStatePwrPolTimerExpiredWakeCapableUsbSS = 0x535 , WdfDevStatePwrPolTimerExpiredWakeCapableWakeArrived = 0x536 ,
  WdfDevStatePwrPolTimerExpiredWakeCapableCancelWake = 0x537 , WdfDevStatePwrPolTimerExpiredWakeCapableWakeCanceled = 0x538 , WdfDevStatePwrPolTimerExpiredWakeCapableCleanup = 0x539 , WdfDevStatePwrPolTimerExpiredWakeCapableDxAllocFailed = 0x53A ,
  WdfDevStatePwrPolTimerExpiredWakeCompletedPowerDown = 0x53B , WdfDevStatePwrPolTimerExpiredWakeCompletedPowerUp = 0x53C , WdfDevStatePwrPolWaitingArmedUsbSS = 0x53D , WdfDevStatePwrPolWaitingArmed = 0x53E ,
  WdfDevStatePwrPolWaitingArmedQueryIdle = 0x53F , WdfDevStatePwrPolIoPresentArmed = 0x540 , WdfDevStatePwrPolIoPresentArmedWakeCanceled = 0x541 , WdfDevStatePwrPolS0WakeDisarm = 0x542 ,
  WdfDevStatePwrPolS0WakeCompletePowerUp = 0x543 , WdfDevStatePwrPolTimerExpiredWakeSucceeded = 0x544 , WdfDevStatePwrPolTimerExpiredWakeCompletedDisarm = 0x545 , WdfDevStatePwrPolTimerExpiredWakeCapableWakeSucceeded = 0x546 ,
  WdfDevStatePwrPolTimerExpiredWakeCapableWakeFailed = 0x547 , WdfDevStatePwrPolWakeFailedUsbSS = 0x548 , WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedCancelWake = 0x549 , WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeCanceled = 0x54A ,
  WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedUsbSS = 0x54B , WdfDevStatePwrPolCancelingWakeForSystemSleep = 0x54C , WdfDevStatePwrPolCancelingWakeForSystemSleepWakeCanceled = 0x54D , WdfDevStatePwrPolDisarmingWakeForSystemSleepCompletePowerUp = 0x54E ,
  WdfDevStatePwrPolPowerUpForSystemSleepFailed = 0x54F , WdfDevStatePwrPolWokeFromS0UsbSS = 0x550 , WdfDevStatePwrPolWokeFromS0 = 0x551 , WdfDevStatePwrPolWokeFromS0NotifyDriver = 0x552 ,
  WdfDevStatePwrPolStoppingResetDevice = 0x553 , WdfDevStatePwrPolStoppingResetDeviceCompletePowerUp = 0x554 , WdfDevStatePwrPolStoppingResetDeviceFailed = 0x555 , WdfDevStatePwrPolStoppingD0 = 0x556 ,
  WdfDevStatePwrPolStoppingD0Failed = 0x557 , WdfDevStatePwrPolStoppingDisarmWake = 0x558 , WdfDevStatePwrPolStoppingDisarmWakeCancelWake = 0x559 , WdfDevStatePwrPolStoppingDisarmWakeWakeCanceled = 0x55A ,
  WdfDevStatePwrPolStopping = 0x55B , WdfDevStatePwrPolStoppingFailed = 0x55C , WdfDevStatePwrPolStoppingSendStatus = 0x55D , WdfDevStatePwrPolStoppingCancelTimer = 0x55E ,
  WdfDevStatePwrPolStoppingWaitForIdleTimeout = 0x55F , WdfDevStatePwrPolStoppingCancelUsbSS = 0x560 , WdfDevStatePwrPolStoppingWaitForUsbSSCompletion = 0x561 , WdfDevStatePwrPolStoppingCancelWake = 0x562 ,
  WdfDevStatePwrPolStopped = 0x563 , WdfDevStatePwrPolCancelUsbSS = 0x564 , WdfDevStatePwrPolStarted = 0x565 , WdfDevStatePwrPolStartedCancelTimer = 0x566 ,
  WdfDevStatePwrPolStartedWaitForIdleTimeout = 0x567 , WdfDevStatePwrPolStartedWakeCapableCancelTimerForSleep = 0x568 , WdfDevStatePwrPolStartedWakeCapableWaitForIdleTimeout = 0x569 , WdfDevStatePwrPolStartedWakeCapableSleepingUsbSS = 0x56A ,
  WdfDevStatePwrPolStartedIdleCapableCancelTimerForSleep = 0x56B , WdfDevStatePwrPolStartedIdleCapableWaitForIdleTimeout = 0x56C , WdfDevStatePwrPolDeviceD0PowerRequestFailed = 0x56D , WdfDevStatePwrPolDevicePowerRequestFailed = 0x56E ,
  WdfDevStatePwrPolGotoDx = 0x56F , WdfDevStatePwrPolGotoDxInDx = 0x570 , WdfDevStatePwrPolDx = 0x571 , WdfDevStatePwrPolGotoD0 = 0x572 ,
  WdfDevStatePwrPolGotoD0InD0 = 0x573 , WdfDevStatePwrPolFinal = 0x574 , WdfDevStatePwrPolSleepingPowerDownNotProcessed = 0x575 , WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownNotProcessed = 0x576 ,
  WdfDevStatePwrPolTimerExpiredNoWakePowerDownNotProcessed = 0x577 , WdfDevStatePwrPolTimerExpiredNoWakePoweredDownDisableIdleTimer = 0x578 , WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown = 0x579 , WdfDevStatePwrPolStoppingPoweringUp = 0x57A ,
  WdfDevStatePwrPolStoppingPoweringDown = 0x57B , WdfDevStatePwrPolPowerUpForSystemSleepNotSeen = 0x57C , WdfDevStatePwrPolWaitingArmedStoppingCancelUsbSS = 0x57D , WdfDevStatePwrPolWaitingArmedWakeFailedCancelUsbSS = 0x57E ,
  WdfDevStatePwrPolWaitingArmedIoPresentCancelUsbSS = 0x57F , WdfDevStatePwrPolWaitingArmedWakeSucceededCancelUsbSS = 0x580 , WdfDevStatePwrPolCancelingUsbSSForSystemSleep = 0x581 , WdfDevStatePwrPolStoppingD0CancelUsbSS = 0x582 ,
  WdfDevStatePwrPolStartingPoweredUp = 0x583 , WdfDevStatePwrPolIdleCapableDeviceIdle = 0x584 , WdfDevStatePwrPolDeviceIdleReturnToActive = 0x585 , WdfDevStatePwrPolDeviceIdleSleeping = 0x586 ,
  WdfDevStatePwrPolDeviceIdleStopping = 0x587 , WdfDevStatePwrPolTimerExpiredNoWakeUndoPowerDown = 0x588 , WdfDevStatePwrPolWakeCapableDeviceIdle = 0x589 , WdfDevStatePwrPolWakeCapableUsbSSCompleted = 0x58A ,
  WdfDevStatePwrPolTimerExpiredWakeCapableUndoPowerDown = 0x58B , WdfDevStatePwrPolTimerExpiredWakeCompletedHardwareStarted = 0x58C , WdfDevStatePwrPolStoppedRemoving = 0x58D , WdfDevStatePwrPolRemoved = 0x58E ,
  WdfDevStatePwrPolRestarting = 0x58F , WdfDevStatePwrPolRestartingFailed = 0x590 , WdfDevStatePwrPolStartingPoweredUpFailed = 0x591 , WdfDevStatePwrPolTimerExpiredNoWakeReturnToActive = 0x592 ,
  WdfDevStatePwrPolWaitingArmedWakeInterruptFired = 0x593 , WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFired = 0x594 , WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFiredNP = 0x595 | WdfDevStateNP , WdfDevStatePwrPolTimerExpiredWakeCapableWakeInterruptArrived = 0x596 ,
  WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeInterruptArrived = 0x597 , WdfDevStatePwrPolWaitingArmedWakeInterruptFiredDuringPowerDown = 0x598 , WdfDevStatePwrPolNull = 0x599
}
 
enum  _WDF_STATE_NOTIFICATION_TYPE {
  StateNotificationInvalid = 0x0000 , StateNotificationEnterState = 0x0001 , StateNotificationPostProcessState = 0x0002 , StateNotificationLeaveState = 0x0004 ,
  StateNotificationAllStates = StateNotificationEnterState | StateNotificationPostProcessState | StateNotificationLeaveState
}
 
enum  _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES { IdleCapsInvalid = 0 , IdleCannotWakeFromS0 , IdleCanWakeFromS0 , IdleUsbSelectiveSuspend }
 
enum  _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL { IdleUserControlInvalid = 0 , IdleDoNotAllowUserControl , IdleAllowUserControl }
 
enum  _WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS { IdleTimeoutDefaultConstant = 0 }
 
enum  _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL { WakeUserControlInvalid = 0 , WakeDoNotAllowUserControl , WakeAllowUserControl }
 
enum  _WDF_POWER_DEVICE_STATE {
  WdfPowerDeviceInvalid = 0 , WdfPowerDeviceD0 , WdfPowerDeviceD1 , WdfPowerDeviceD2 ,
  WdfPowerDeviceD3 , WdfPowerDeviceD3Final , WdfPowerDevicePrepareForHibernation , WdfPowerDeviceMaximum
}
 
enum  _WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS { WDF_DISPATCH_IRP_TO_IO_QUEUE_NO_FLAGS = 0x00000000 , WDF_DISPATCH_IRP_TO_IO_QUEUE_INVOKE_INCALLERCTX_CALLBACK = 0x00000001 , WDF_DISPATCH_IRP_TO_IO_QUEUE_PREPROCESSED_IRP = 0x00000002 }
 
enum  _WDF_SPECIAL_FILE_TYPE {
  WdfSpecialFileUndefined = 0 , WdfSpecialFilePaging = 1 , WdfSpecialFileHibernation , WdfSpecialFileDump ,
  WdfSpecialFileBoot , WdfSpecialFileMax
}
 
enum  _WDF_DEVICE_IO_TYPE {
  WdfDeviceIoUndefined = 0 , WdfDeviceIoNeither , WdfDeviceIoBuffered , WdfDeviceIoDirect ,
  WdfDeviceIoBufferedOrDirect = 4 , WdfDeviceIoMaximum
}
 
enum  _WDF_FILEOBJECT_CLASS {
  WdfFileObjectInvalid = 0 , WdfFileObjectNotRequired = 1 , WdfFileObjectWdfCanUseFsContext = 2 , WdfFileObjectWdfCanUseFsContext2 = 3 ,
  WdfFileObjectWdfCannotUseFsContexts = 4 , WdfFileObjectCanBeOptional = 0x80000000
}
 
enum  _WDF_DEVICE_FAILED_ACTION { WdfDeviceFailedUndefined = 0 , WdfDeviceFailedAttemptRestart , WdfDeviceFailedNoRestart }
 
enum  _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE { WdfReleaseHardwareOrderOnFailureInvalid = 0 , WdfReleaseHardwareOrderOnFailureEarly , WdfReleaseHardwareOrderOnFailureAfterDescendants }
 
enum  _WDF_REQUEST_TYPE {
  WdfRequestTypeCreate = 0x0 , WdfRequestTypeCreateNamedPipe = 0x1 , WdfRequestTypeClose = 0x2 , WdfRequestTypeRead = 0x3 ,
  WdfRequestTypeWrite = 0x4 , WdfRequestTypeQueryInformation = 0x5 , WdfRequestTypeSetInformation = 0x6 , WdfRequestTypeQueryEA = 0x7 ,
  WdfRequestTypeSetEA = 0x8 , WdfRequestTypeFlushBuffers = 0x9 , WdfRequestTypeQueryVolumeInformation = 0xa , WdfRequestTypeSetVolumeInformation = 0xb ,
  WdfRequestTypeDirectoryControl = 0xc , WdfRequestTypeFileSystemControl = 0xd , WdfRequestTypeDeviceControl = 0xe , WdfRequestTypeDeviceControlInternal = 0xf ,
  WdfRequestTypeShutdown = 0x10 , WdfRequestTypeLockControl = 0x11 , WdfRequestTypeCleanup = 0x12 , WdfRequestTypeCreateMailSlot = 0x13 ,
  WdfRequestTypeQuerySecurity = 0x14 , WdfRequestTypeSetSecurity = 0x15 , WdfRequestTypePower = 0x16 , WdfRequestTypeSystemControl = 0x17 ,
  WdfRequestTypeDeviceChange = 0x18 , WdfRequestTypeQueryQuota = 0x19 , WdfRequestTypeSetQuota = 0x1A , WdfRequestTypePnp = 0x1B ,
  WdfRequestTypeOther =0x1C , WdfRequestTypeUsb = 0x40 , WdfRequestTypeNoFormat = 0xFF , WdfRequestTypeMax
}
 
enum  _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE { DriverManagedIdleTimeout = 0 , SystemManagedIdleTimeout = 1 , SystemManagedIdleTimeoutWithHint = 2 }
 
enum  _WDF_REMOVE_LOCK_OPTIONS_FLAGS { WDF_REMOVE_LOCK_OPTION_ACQUIRE_FOR_IO = 0x00000001 }
 

Functions

typedef _Function_class_ (EVT_WDF_DEVICE_FILE_CREATE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_FILE_CREATE(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_FILE_CLOSE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_FILE_CLOSE(_In_ WDFFILEOBJECT FileObject)
 
typedef _Function_class_ (EVT_WDF_FILE_CLEANUP) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_FILE_CLEANUP(_In_ WDFFILEOBJECT FileObject)
 
FORCEINLINE VOID WDF_FILEOBJECT_CONFIG_INIT (_Out_ PWDF_FILEOBJECT_CONFIG FileEventCallbacks, _In_opt_ PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate, _In_opt_ PFN_WDF_FILE_CLOSE EvtFileClose, _In_opt_ PFN_WDF_FILE_CLEANUP EvtFileCleanup)
 
typedef _Function_class_ (EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_D0_ENTRY) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_D0_ENTRY(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_D0_EXIT) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_D0_EXIT(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_PREPARE_HARDWARE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_PREPARE_HARDWARE(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_RELEASE_HARDWARE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_RELEASE_HARDWARE(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_QUERY_STOP) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_QUERY_STOP(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_QUERY_REMOVE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_QUERY_REMOVE(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_SURPRISE_REMOVAL) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_SURPRISE_REMOVAL(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_USAGE_NOTIFICATION) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_USAGE_NOTIFICATION(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_RELATIONS_QUERY) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_RELATIONS_QUERY(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_ARM_WAKE_FROM_S0) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_ARM_WAKE_FROM_S0(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_ARM_WAKE_FROM_SX) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_ARM_WAKE_FROM_SX(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED(_In_ WDFDEVICE Device)
 
typedef _Function_class_ (EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED(_In_ WDFDEVICE Device)
 
FORCEINLINE VOID WDF_POWER_POLICY_EVENT_CALLBACKS_INIT (_Out_ PWDF_POWER_POLICY_EVENT_CALLBACKS Callbacks)
 
FORCEINLINE VOID WDF_PNPPOWER_EVENT_CALLBACKS_INIT (_Out_ PWDF_PNPPOWER_EVENT_CALLBACKS Callbacks)
 
FORCEINLINE ULONG WdfDevStateNormalize (_In_ ULONG State)
 
FORCEINLINE BOOLEAN WdfDevStateIsNP (_In_ ULONG State)
 
FORCEINLINE VOID WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT (_Out_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings, _In_ WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps)
 
FORCEINLINE VOID WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT (_Out_ PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings)
 
FORCEINLINE VOID WDF_DEVICE_STATE_INIT (_Out_ PWDF_DEVICE_STATE PnpDeviceState)
 
FORCEINLINE VOID WDF_DEVICE_PNP_CAPABILITIES_INIT (_Out_ PWDF_DEVICE_PNP_CAPABILITIES Caps)
 
FORCEINLINE VOID WDF_DEVICE_POWER_CAPABILITIES_INIT (_Out_ PWDF_DEVICE_POWER_CAPABILITIES Caps)
 
FORCEINLINE VOID WDF_REMOVE_LOCK_OPTIONS_INIT (_Out_ PWDF_REMOVE_LOCK_OPTIONS RemoveLockOptions, _In_ ULONG Flags)
 
typedef _Function_class_ (EVT_WDFDEVICE_WDM_IRP_PREPROCESS) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) NTSTATUS STDCALL EVT_WDFDEVICE_WDM_IRP_PREPROCESS(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDFDEVICE_WDM_IRP_DISPATCH) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) NTSTATUS STDCALL EVT_WDFDEVICE_WDM_IRP_DISPATCH(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDF_IO_IN_CALLER_CONTEXT) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_IO_IN_CALLER_CONTEXT(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE(_In_ WDFDEVICE Device
 
typedef _Function_class_ (EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE(_In_ WDFDEVICE Device
 
FORCEINLINE VOID WDF_POWER_FRAMEWORK_SETTINGS_INIT (_Out_ PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings)
 
FORCEINLINE VOID WDF_IO_TYPE_CONFIG_INIT (_Out_ PWDF_IO_TYPE_CONFIG IoTypeConfig)
 
FORCEINLINE VOID WDF_DEVICE_PROPERTY_DATA_INIT (_Out_ PWDF_DEVICE_PROPERTY_DATA PropertyData, _In_ const DEVPROPKEY *PropertyKey)
 
_Must_inspect_result_ _IRQL_requires_max_ (PASSIVE_LEVEL) FORCEINLINE NTSTATUS WdfDeviceRetrieveDeviceName(_In_ WDFDEVICE Device
 Queries information details about a security descriptor.
 
_Must_inspect_result_ _When_ (WaitForD0==0, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(WaitForD0 !=0
 
_Must_inspect_result_ _IRQL_requires_max_ (APC_LEVEL) FORCEINLINE NTSTATUS WdfDeviceQueryPropertyEx(_In_ WDFDEVICE Device
 

Macro Definition Documentation

◆ IdleTimeoutDefaultValue

#define IdleTimeoutDefaultValue   ((ULONG) IdleTimeoutDefaultConstant)

Definition at line 816 of file wdfdevice.h.

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 37 of file wdfdevice.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 39 of file wdfdevice.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 38 of file wdfdevice.h.

◆ WDF_S0_IDLE_DEFAULT_VALUE_NAME

#define WDF_S0_IDLE_DEFAULT_VALUE_NAME   L"WdfDefaultIdleInWorkingState"

Definition at line 492 of file wdfdevice.h.

◆ WDF_S0_IDLE_ENABLED_VALUE_NAME

#define WDF_S0_IDLE_ENABLED_VALUE_NAME   L"IdleInWorkingState"

Definition at line 490 of file wdfdevice.h.

◆ WDF_SX_WAKE_DEFAULT_VALUE_NAME

#define WDF_SX_WAKE_DEFAULT_VALUE_NAME   L"WdfDefaultWakeFromSleepState"

Definition at line 493 of file wdfdevice.h.

◆ WDF_SX_WAKE_ENABLED_VALUE_NAME

#define WDF_SX_WAKE_ENABLED_VALUE_NAME   L"WakeFromSleepState"

Definition at line 491 of file wdfdevice.h.

◆ WdfDeviceResumeIdle

#define WdfDeviceResumeIdle (   Device)     WdfDeviceResumeIdleWithTag(Device, NULL)

Definition at line 1977 of file wdfdevice.h.

◆ WdfDeviceResumeIdleWithTag

#define WdfDeviceResumeIdleWithTag (   Device,
  Tag 
)     WdfDeviceResumeIdleActual(Device, Tag, __LINE__, __FILE__)

Definition at line 1980 of file wdfdevice.h.

◆ WdfDeviceStopIdle

#define WdfDeviceStopIdle (   Device,
  WaitForD0 
)     WdfDeviceStopIdleWithTag(Device, WaitForD0, NULL)

Definition at line 1971 of file wdfdevice.h.

◆ WdfDeviceStopIdleWithTag

#define WdfDeviceStopIdleWithTag (   Device,
  WaitForD0,
  Tag 
)     WdfDeviceStopIdleActual(Device, WaitForD0, Tag, __LINE__, __FILE__)

Definition at line 1974 of file wdfdevice.h.

Typedef Documentation

◆ _IRQL_requires_max_

typedef _Must_inspect_result_ _IRQL_requires_max_(APC_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFDEVICEASSIGNPROPERTY)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals

Definition at line 2148 of file wdfdevice.h.

◆ _Out_writes_bytes_all_

Definition at line 3772 of file wdfdevice.h.

◆ _When_

Definition at line 3463 of file wdfdevice.h.

◆ AlignmentRequirement

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_In_ WDFDEVICE _In_ ULONG AlignmentRequirement
Definition: wdfdevice.h:2854
_In_ WDFDEVICE Device
Definition: wdfdevice.h:1996
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfDeviceSetAlignmentRequirementTableIndex
Definition: wdffuncenum.h:78

Definition at line 2853 of file wdfdevice.h.

◆ BufferLength

◆ BusInformation

Initial value:
{
_In_ WDFDEVICE _In_ PPNP_BUS_INFORMATION BusInformation
Definition: wdfdevice.h:3915
@ WdfDeviceSetBusInformationForChildrenTableIndex
Definition: wdffuncenum.h:110

Definition at line 3914 of file wdfdevice.h.

◆ CallbackTypes

Initial value:
{
_In_ PWDFDEVICE_INIT DeviceInit
Definition: wdfdevice.h:2881
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE PnpState
Definition: wdfdevice.h:2995
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION _In_ ULONG CallbackTypes
Definition: wdfdevice.h:3000
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_PNP_STATE _In_ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange
Definition: wdfdevice.h:2997
@ WdfDeviceInitRegisterPnpStateChangeCallbackTableIndex
Definition: wdffuncenum.h:83

Definition at line 2999 of file wdfdevice.h.

◆ ChildrenArmedForWake

Definition at line 1101 of file wdfdevice.h.

◆ Code

Definition at line 1701 of file wdfdevice.h.

◆ Data

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfdevice.h:3769
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
Definition: wdfdevice.h:4536
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE Type
Definition: wdfdevice.h:4442
@ WdfDeviceAssignPropertyTableIndex
Definition: wdffuncenum.h:460

Definition at line 4535 of file wdfdevice.h.

◆ DependentDevice

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT DependentDevice
Definition: wdfdevice.h:2263
@ WdfDeviceAddDependentUsageDeviceObjectTableIndex
Definition: wdffuncenum.h:60

Definition at line 2262 of file wdfdevice.h.

◆ DesiredAccess

◆ Device

typedef _Must_inspect_result_ _In_ WDFDEVICE Device
Initial value:
{
_Must_inspect_result_ _Inout_ PWDFDEVICE_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES DeviceAttributes
Definition: wdfdevice.h:3563
@ WdfDeviceCreateTableIndex
Definition: wdffuncenum.h:100

Definition at line 1996 of file wdfdevice.h.

◆ DeviceAttributes

◆ DeviceCharacteristics

Initial value:
{
_In_ WDFDEVICE _In_ ULONG DeviceCharacteristics
Definition: wdfdevice.h:2775
@ WdfDeviceSetCharacteristicsTableIndex
Definition: wdffuncenum.h:75

Definition at line 2774 of file wdfdevice.h.

◆ DeviceClassGuid

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ CONST GUID * DeviceClassGuid
Definition: wdfdevice.h:3336
@ WdfDeviceInitSetDeviceClassTableIndex
Definition: wdffuncenum.h:94

Definition at line 3335 of file wdfdevice.h.

◆ DeviceInit

Definition at line 2880 of file wdfdevice.h.

◆ DeviceInstanceKeyType

◆ DeviceName

Initial value:
{
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3275
@ WdfDeviceInitAssignNameTableIndex
Definition: wdffuncenum.h:92

Definition at line 3274 of file wdfdevice.h.

◆ DeviceObject

◆ DeviceProperty

◆ DeviceState

Initial value:
{
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:1999
@ WdfDeviceGetDeviceStateTableIndex
Definition: wdffuncenum.h:53

Definition at line 1998 of file wdfdevice.h.

◆ DeviceType

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ DEVICE_TYPE DeviceType
Definition: wdfdevice.h:3245
@ WdfDeviceInitSetDeviceTypeTableIndex
Definition: wdffuncenum.h:91

Definition at line 3244 of file wdfdevice.h.

◆ DeviceWakeEnabled

Definition at line 1099 of file wdfdevice.h.

◆ DispatchContext

Initial value:
{
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
Definition: wdfdevice.h:1708
_Inout_ PIRP Irp
Definition: wdfdevice.h:1683
@ WdfDeviceWdmDispatchIrpTableIndex
Definition: wdffuncenum.h:426

Definition at line 1707 of file wdfdevice.h.

◆ Driver

Definition at line 4266 of file wdfdevice.h.

◆ DriverContext

Initial value:
{
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
Definition: wdfdevice.h:1703
_In_ UCHAR MajorFunction
Definition: wdfdevice.h:1697
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER Driver
Definition: wdfdevice.h:4266
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ WDFDRIVER _In_ UCHAR _In_ PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach
Definition: wdfdevice.h:4270
@ WdfDeviceConfigureWdmIrpDispatchCallbackTableIndex
Definition: wdffuncenum.h:429

Definition at line 1703 of file wdfdevice.h.

◆ EvtDevicePnpStateChange

◆ EvtDevicePowerPolicyStateChange

◆ EvtDevicePowerStateChange

◆ EvtDeviceWdmIrpDisptach

◆ EvtDeviceWdmIrpPreprocess

◆ EvtIoInCallerContext

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
Definition: wdfdevice.h:3505
@ WdfDeviceInitSetIoInCallerContextCallbackTableIndex
Definition: wdffuncenum.h:99

Definition at line 3504 of file wdfdevice.h.

◆ FailedAction

Initial value:
{
_In_ WDFDEVICE _In_ WDF_DEVICE_FAILED_ACTION FailedAction
Definition: wdfdevice.h:3975
@ WdfDeviceSetFailedTableIndex
Definition: wdffuncenum.h:112

Definition at line 3974 of file wdfdevice.h.

◆ File

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG Line
Definition: wdfdevice.h:4067
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN WaitForD0
Definition: wdfdevice.h:4006
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG _In_z_ PCHAR File
Definition: wdfdevice.h:4070
@ WdfDeviceStopIdleActualTableIndex
Definition: wdffuncenum.h:463

Definition at line 4069 of file wdfdevice.h.

◆ FileObject

_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT FileObject
Initial value:
{
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
@ WdfDeviceGetFileObjectTableIndex
Definition: wdffuncenum.h:115

Definition at line 549 of file wdfdevice.h.

◆ FileObjectAttributes

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
Definition: wdfdevice.h:3400
_In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG FileObjectConfig
Definition: wdfdevice.h:3397
@ WdfDeviceInitSetFileObjectConfigTableIndex
Definition: wdffuncenum.h:96

Definition at line 3399 of file wdfdevice.h.

◆ FileObjectConfig

◆ FileType

Definition at line 2741 of file wdfdevice.h.

◆ FileTypeIsSupported

Initial value:
{
_In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE FileType
Definition: wdfdevice.h:2741
_In_ WDFDEVICE _In_ WDF_SPECIAL_FILE_TYPE _In_ BOOLEAN FileTypeIsSupported
Definition: wdfdevice.h:2744
@ WdfDeviceSetSpecialFileSupportTableIndex
Definition: wdffuncenum.h:74

Definition at line 2743 of file wdfdevice.h.

◆ Flags

Initial value:
{
return ((PFN_WDFDEVICEWDMDISPATCHIRPTOIOQUEUE) WdfFunctions[WdfDeviceWdmDispatchIrpToIoQueueTableIndex])(WdfDriverGlobals, Device, Irp, Queue, Flags)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE _In_ ULONG Flags
Definition: wdfdevice.h:2228
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2225
@ WdfDeviceWdmDispatchIrpToIoQueueTableIndex
Definition: wdffuncenum.h:427

Definition at line 2227 of file wdfdevice.h.

◆ InterfaceClassGUID

Definition at line 3627 of file wdfdevice.h.

◆ IoType

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_IO_TYPE IoType
Definition: wdfdevice.h:3141
@ WdfDeviceInitSetIoTypeTableIndex
Definition: wdffuncenum.h:86

Definition at line 3140 of file wdfdevice.h.

◆ IoTypeConfig

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_IO_TYPE_CONFIG IoTypeConfig
Definition: wdfdevice.h:4394
@ WdfDeviceInitSetIoTypeExTableIndex
Definition: wdffuncenum.h:457

Definition at line 4393 of file wdfdevice.h.

◆ Irp

Initial value:
{
return ((PFN_WDFDEVICEWDMDISPATCHPREPROCESSEDIRP) WdfFunctions[WdfDeviceWdmDispatchPreprocessedIrpTableIndex])(WdfDriverGlobals, Device, Irp)
@ WdfDeviceWdmDispatchPreprocessedIrpTableIndex
Definition: wdffuncenum.h:59

Definition at line 1682 of file wdfdevice.h.

◆ IsExclusive

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ BOOLEAN IsExclusive
Definition: wdfdevice.h:3112
@ WdfDeviceInitSetExclusiveTableIndex
Definition: wdffuncenum.h:87

Definition at line 3111 of file wdfdevice.h.

◆ IsInNotificationPath

◆ IsInterfaceEnabled

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdfdevice.h:3630
_In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING _In_ BOOLEAN IsInterfaceEnabled
Definition: wdfdevice.h:3666
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID * InterfaceClassGUID
Definition: wdfdevice.h:3627
@ WdfDeviceSetDeviceInterfaceStateTableIndex
Definition: wdffuncenum.h:103

Definition at line 3665 of file wdfdevice.h.

◆ IsPowerPolicyOwner

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ BOOLEAN IsPowerPolicyOwner
Definition: wdfdevice.h:2966
@ WdfDeviceInitSetPowerPolicyOwnershipTableIndex
Definition: wdffuncenum.h:82

Definition at line 2965 of file wdfdevice.h.

◆ Key

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
Definition: wdfdevice.h:2660
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
Definition: wdfdevice.h:2663
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG DeviceInstanceKeyType
Definition: wdfdevice.h:2656
@ WdfDeviceOpenRegistryKeyTableIndex
Definition: wdffuncenum.h:73

Definition at line 2662 of file wdfdevice.h.

◆ KeyAttributes

◆ KeyName

◆ Line

Definition at line 4067 of file wdfdevice.h.

◆ MajorFunction

Definition at line 1697 of file wdfdevice.h.

◆ MinorFunction

Definition at line 1699 of file wdfdevice.h.

◆ MinorFunctions

◆ MofResourceName

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING MofResourceName
Definition: wdfdevice.h:2464
@ WdfDeviceAssignMofResourceNameTableIndex
Definition: wdffuncenum.h:66

Definition at line 2463 of file wdfdevice.h.

◆ NotificationData

◆ NotificationType

Definition at line 1024 of file wdfdevice.h.

◆ NumMinorFunctions

Initial value:
{
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess
Definition: wdfdevice.h:3460
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR _In_ ULONG NumMinorFunctions
Definition: wdfdevice.h:3468
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR MinorFunctions
Definition: wdfdevice.h:3465
@ WdfDeviceInitAssignWdmIrpPreprocessCallbackTableIndex
Definition: wdffuncenum.h:98

Definition at line 3467 of file wdfdevice.h.

◆ Options

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534
@ WdfDeviceInitSetRemoveLockOptionsTableIndex
Definition: wdffuncenum.h:428

Definition at line 3533 of file wdfdevice.h.

◆ OrInValues

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ ULONG _In_ BOOLEAN OrInValues
Definition: wdfdevice.h:3367
@ WdfDeviceInitSetCharacteristicsTableIndex
Definition: wdffuncenum.h:95

Definition at line 3366 of file wdfdevice.h.

◆ PCWDF_DEVICE_PNP_NOTIFICATION_DATA

◆ PCWDF_DEVICE_POWER_NOTIFICATION_DATA

◆ PCWDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA

◆ PFN_WDF_DEVICE_ARM_WAKE_FROM_S0

typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_S0* PFN_WDF_DEVICE_ARM_WAKE_FROM_S0

Definition at line 1074 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_ARM_WAKE_FROM_SX

typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_SX* PFN_WDF_DEVICE_ARM_WAKE_FROM_SX

Definition at line 1087 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON

typedef EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON* PFN_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON

Definition at line 1104 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_D0_ENTRY

typedef EVT_WDF_DEVICE_D0_ENTRY* PFN_WDF_DEVICE_D0_ENTRY

Definition at line 831 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED

typedef EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED* PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED

Definition at line 846 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_D0_EXIT

typedef EVT_WDF_DEVICE_D0_EXIT* PFN_WDF_DEVICE_D0_EXIT

Definition at line 861 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED

typedef EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED* PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED

Definition at line 876 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0

typedef EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0* PFN_WDF_DEVICE_DISARM_WAKE_FROM_S0

Definition at line 1117 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX

typedef EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX* PFN_WDF_DEVICE_DISARM_WAKE_FROM_SX

Definition at line 1130 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_FILE_CREATE

typedef EVT_WDF_DEVICE_FILE_CREATE* PFN_WDF_DEVICE_FILE_CREATE

Definition at line 552 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION

typedef EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION* PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION

Definition at line 784 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION

typedef EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION* PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION

Definition at line 814 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION

typedef EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION* PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION

Definition at line 799 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_PREPARE_HARDWARE

typedef EVT_WDF_DEVICE_PREPARE_HARDWARE* PFN_WDF_DEVICE_PREPARE_HARDWARE

Definition at line 893 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_QUERY_REMOVE

typedef EVT_WDF_DEVICE_QUERY_REMOVE* PFN_WDF_DEVICE_QUERY_REMOVE

Definition at line 999 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_QUERY_STOP

typedef EVT_WDF_DEVICE_QUERY_STOP* PFN_WDF_DEVICE_QUERY_STOP

Definition at line 986 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_RELATIONS_QUERY

typedef EVT_WDF_DEVICE_RELATIONS_QUERY* PFN_WDF_DEVICE_RELATIONS_QUERY

Definition at line 1061 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_RELEASE_HARDWARE

typedef EVT_WDF_DEVICE_RELEASE_HARDWARE* PFN_WDF_DEVICE_RELEASE_HARDWARE

Definition at line 908 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP

typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP* PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP

Definition at line 921 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH

typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH* PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH

Definition at line 934 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT

typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT* PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT

Definition at line 947 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART

typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART* PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART

Definition at line 973 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND

typedef EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND* PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND

Definition at line 960 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_SURPRISE_REMOVAL

typedef EVT_WDF_DEVICE_SURPRISE_REMOVAL* PFN_WDF_DEVICE_SURPRISE_REMOVAL

Definition at line 1012 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_USAGE_NOTIFICATION

typedef EVT_WDF_DEVICE_USAGE_NOTIFICATION* PFN_WDF_DEVICE_USAGE_NOTIFICATION

Definition at line 1029 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX

typedef EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX* PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX

Definition at line 1046 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED

typedef EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED* PFN_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED

Definition at line 1143 of file wdfdevice.h.

◆ PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED

typedef EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED* PFN_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED

Definition at line 1156 of file wdfdevice.h.

◆ PFN_WDF_FILE_CLEANUP

typedef EVT_WDF_FILE_CLEANUP* PFN_WDF_FILE_CLEANUP

Definition at line 578 of file wdfdevice.h.

◆ PFN_WDF_FILE_CLOSE

typedef EVT_WDF_FILE_CLOSE* PFN_WDF_FILE_CLOSE

Definition at line 565 of file wdfdevice.h.

◆ PFN_WDF_IO_IN_CALLER_CONTEXT

typedef EVT_WDF_IO_IN_CALLER_CONTEXT* PFN_WDF_IO_IN_CALLER_CONTEXT

Definition at line 1728 of file wdfdevice.h.

◆ PFN_WDFDEVICE_WDM_IRP_DISPATCH

typedef EVT_WDFDEVICE_WDM_IRP_DISPATCH* PFN_WDFDEVICE_WDM_IRP_DISPATCH

Definition at line 1710 of file wdfdevice.h.

◆ PFN_WDFDEVICE_WDM_IRP_PREPROCESS

typedef EVT_WDFDEVICE_WDM_IRP_PREPROCESS* PFN_WDFDEVICE_WDM_IRP_PREPROCESS

Definition at line 1685 of file wdfdevice.h.

◆ PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE

typedef EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE* PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE

Definition at line 1743 of file wdfdevice.h.

◆ PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE

typedef EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE* PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE

Definition at line 1758 of file wdfdevice.h.

◆ PhysicalDevice

Initial value:
{
return ((PFN_WDFDEVICEADDREMOVALRELATIONSPHYSICALDEVICE) WdfFunctions[WdfDeviceAddRemovalRelationsPhysicalDeviceTableIndex])(WdfDriverGlobals, Device, PhysicalDevice)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT PhysicalDevice
Definition: wdfdevice.h:2323
@ WdfDeviceAddRemovalRelationsPhysicalDeviceTableIndex
Definition: wdffuncenum.h:61

Definition at line 2322 of file wdfdevice.h.

◆ PnpCapabilities

Initial value:
{
_In_ WDFDEVICE _In_ PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities
Definition: wdfdevice.h:3857
@ WdfDeviceSetPnpCapabilitiesTableIndex
Definition: wdffuncenum.h:108

Definition at line 3856 of file wdfdevice.h.

◆ PnpPowerEventCallbacks

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks
Definition: wdfdevice.h:2908
@ WdfDeviceInitSetPnpPowerEventCallbacksTableIndex
Definition: wdffuncenum.h:80

Definition at line 2907 of file wdfdevice.h.

◆ PnpState

◆ PoHandle

typedef _In_ POHANDLE PoHandle

Definition at line 1740 of file wdfdevice.h.

◆ PoolType

◆ PowerCapabilities

Initial value:
{
_In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
Definition: wdfdevice.h:3886
@ WdfDeviceSetPowerCapabilitiesTableIndex
Definition: wdffuncenum.h:109

Definition at line 3885 of file wdfdevice.h.

◆ PowerFrameworkSettings

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings
Definition: wdfdevice.h:4335
@ WdfDeviceWdmAssignPowerFrameworkSettingsTableIndex
Definition: wdffuncenum.h:450

Definition at line 4334 of file wdfdevice.h.

◆ PowerPolicyEventCallbacks

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
Definition: wdfdevice.h:2937
@ WdfDeviceInitSetPowerPolicyEventCallbacksTableIndex
Definition: wdffuncenum.h:81

Definition at line 2936 of file wdfdevice.h.

◆ PowerPolicyState

◆ PowerState

◆ PreviousState

Definition at line 828 of file wdfdevice.h.

◆ PropertyBuffer

◆ PropertyMemory

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
Definition: wdfdevice.h:3817
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
Definition: wdfdevice.h:3820
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
@ WdfDeviceAllocAndQueryPropertyTableIndex
Definition: wdffuncenum.h:107

Definition at line 3819 of file wdfdevice.h.

◆ PropertyMemoryAttributes

◆ PWDF_DEVICE_IO_TYPE

◆ PWDF_DEVICE_PNP_CAPABILITIES

◆ PWDF_DEVICE_PNP_STATE

◆ PWDF_DEVICE_POWER_CAPABILITIES

◆ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS

◆ PWDF_DEVICE_POWER_POLICY_STATE

◆ PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

◆ PWDF_DEVICE_POWER_STATE

◆ PWDF_DEVICE_PROPERTY_DATA

◆ PWDF_DEVICE_STATE

◆ PWDF_FILEOBJECT_CLASS

◆ PWDF_FILEOBJECT_CONFIG

◆ PWDF_IO_TYPE_CONFIG

◆ PWDF_PNPPOWER_EVENT_CALLBACKS

◆ PWDF_POWER_DEVICE_STATE

◆ PWDF_POWER_FRAMEWORK_SETTINGS

◆ PWDF_POWER_POLICY_EVENT_CALLBACKS

◆ PWDF_POWER_POLICY_IDLE_TIMEOUT_TYPE

◆ PWDF_RELEASE_HARDWARE_ORDER_ON_FAILURE

◆ PWDF_REMOVE_LOCK_OPTIONS

◆ PWDF_SPECIAL_FILE_TYPE

◆ Queue

_In_ WDFIOTARGET _In_ WDFQUEUE Queue
Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:476
@ WdfIoQueueCreateTableIndex
Definition: wdffuncenum.h:177
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES QueueAttributes
Definition: wdfio.h:617

Definition at line 2225 of file wdfdevice.h.

◆ ReferenceString

Initial value:
{
@ WdfDeviceCreateDeviceInterfaceTableIndex
Definition: wdffuncenum.h:102

Definition at line 3629 of file wdfdevice.h.

◆ RelationType

Definition at line 1058 of file wdfdevice.h.

◆ ReleaseHardwareOrderOnFailure

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure
Definition: wdfdevice.h:4365
@ WdfDeviceInitSetReleaseHardwareOrderOnFailureTableIndex
Definition: wdffuncenum.h:455

Definition at line 4364 of file wdfdevice.h.

◆ Request

_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST Request
Initial value:
{
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
@ WdfDeviceEnqueueRequestTableIndex
Definition: wdffuncenum.h:116

Definition at line 547 of file wdfdevice.h.

◆ RequestAttributes

Initial value:
{
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
Definition: wdfdevice.h:3431
@ WdfDeviceInitSetRequestAttributesTableIndex
Definition: wdffuncenum.h:97

Definition at line 3430 of file wdfdevice.h.

◆ RequestType

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
Definition: wdfdevice.h:4233
@ WdfDeviceConfigureRequestDispatchingTableIndex
Definition: wdffuncenum.h:118

Definition at line 4232 of file wdfdevice.h.

◆ RequiredSize

◆ ResourcesRaw

typedef _In_ WDFCMRESLIST ResourcesRaw

Definition at line 888 of file wdfdevice.h.

◆ ResourcesTranslated

typedef _In_ WDFCMRESLIST ResourcesTranslated

Definition at line 890 of file wdfdevice.h.

◆ ResultLength

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID PropertyBuffer
Definition: wdfdevice.h:4437
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3771
@ WdfDeviceQueryPropertyTableIndex
Definition: wdffuncenum.h:106

Definition at line 3775 of file wdfdevice.h.

◆ SDDLString

Initial value:
{
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING SDDLString
Definition: wdfdevice.h:3306
@ WdfDeviceInitAssignSDDLStringTableIndex
Definition: wdffuncenum.h:93

Definition at line 3305 of file wdfdevice.h.

◆ Settings

Initial value:
{
return ((PFN_WDFDEVICEASSIGNS0IDLESETTINGS) WdfFunctions[WdfDeviceAssignS0IdleSettingsTableIndex])(WdfDriverGlobals, Device, Settings)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings
Definition: wdfdevice.h:2595
@ WdfDeviceAssignS0IdleSettingsTableIndex
Definition: wdffuncenum.h:71

Definition at line 2594 of file wdfdevice.h.

◆ Size

◆ Stoppable

Initial value:
{
_In_ WDFDEVICE _In_ BOOLEAN Stoppable
Definition: wdfdevice.h:3598
@ WdfDeviceSetStaticStopRemoveTableIndex
Definition: wdffuncenum.h:101

Definition at line 3597 of file wdfdevice.h.

◆ String

Initial value:
{
return ((PFN_WDFDEVICERETRIEVEDEVICENAME) WdfFunctions[WdfDeviceRetrieveDeviceNameTableIndex])(WdfDriverGlobals, Device, String)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
@ WdfDeviceRetrieveDeviceNameTableIndex
Definition: wdffuncenum.h:65

Definition at line 2432 of file wdfdevice.h.

◆ SymbolicLinkName

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING SymbolicLinkName
Definition: wdfdevice.h:3739
@ WdfDeviceCreateSymbolicLinkTableIndex
Definition: wdffuncenum.h:105

Definition at line 3738 of file wdfdevice.h.

◆ Tag

_In_ WDFDEVICE _In_opt_ PVOID Tag
Initial value:
{
Allocation
Definition: exfuncs.h:598

Definition at line 4065 of file wdfdevice.h.

◆ TargetState

Definition at line 858 of file wdfdevice.h.

◆ Type

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
Definition: wdfdevice.h:4439
@ WdfDeviceQueryPropertyExTableIndex
Definition: wdffuncenum.h:458

Definition at line 4441 of file wdfdevice.h.

◆ WaitForD0

Initial value:
{
@ WdfDeviceStopIdleNoTrackTableIndex
Definition: wdffuncenum.h:113

Definition at line 4005 of file wdfdevice.h.

◆ WaitWakeStatus

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ NTSTATUS WaitWakeStatus
Definition: wdfdevice.h:3945
@ WdfDeviceIndicateWakeStatusTableIndex
Definition: wdffuncenum.h:111

Definition at line 3944 of file wdfdevice.h.

◆ WDF_DEVICE_FAILED_ACTION

◆ WDF_DEVICE_IO_TYPE

◆ WDF_DEVICE_PNP_CAPABILITIES

◆ WDF_DEVICE_PNP_NOTIFICATION_DATA

◆ WDF_DEVICE_PNP_STATE

◆ WDF_DEVICE_POWER_CAPABILITIES

◆ WDF_DEVICE_POWER_NOTIFICATION_DATA

◆ WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS

◆ WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA

◆ WDF_DEVICE_POWER_POLICY_STATE

◆ WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

◆ WDF_DEVICE_POWER_STATE

◆ WDF_DEVICE_PROPERTY_DATA

◆ WDF_DEVICE_STATE

◆ WDF_DEVICE_STATE_FLAGS

◆ WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS

◆ WDF_FILEOBJECT_CLASS

◆ WDF_FILEOBJECT_CONFIG

◆ WDF_IO_TYPE_CONFIG

◆ WDF_PNPPOWER_EVENT_CALLBACKS

◆ WDF_POWER_DEVICE_STATE

◆ WDF_POWER_FRAMEWORK_SETTINGS

◆ WDF_POWER_POLICY_EVENT_CALLBACKS

◆ WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS

◆ WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE

◆ WDF_POWER_POLICY_S0_IDLE_CAPABILITIES

◆ WDF_POWER_POLICY_S0_IDLE_USER_CONTROL

◆ WDF_POWER_POLICY_SX_WAKE_USER_CONTROL

◆ WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE

◆ WDF_REMOVE_LOCK_OPTIONS

◆ WDF_REMOVE_LOCK_OPTIONS_FLAGS

◆ WDF_REQUEST_TYPE

◆ WDF_SPECIAL_FILE_TYPE

◆ WDF_STATE_NOTIFICATION_TYPE

Enumeration Type Documentation

◆ _WDF_DEVICE_FAILED_ACTION

Enumerator
WdfDeviceFailedUndefined 
WdfDeviceFailedAttemptRestart 
WdfDeviceFailedNoRestart 

Definition at line 467 of file wdfdevice.h.

467 {
@ WdfDeviceFailedNoRestart
Definition: wdfdevice.h:470
@ WdfDeviceFailedAttemptRestart
Definition: wdfdevice.h:469
@ WdfDeviceFailedUndefined
Definition: wdfdevice.h:468
enum _WDF_DEVICE_FAILED_ACTION WDF_DEVICE_FAILED_ACTION

◆ _WDF_DEVICE_IO_TYPE

Enumerator
WdfDeviceIoUndefined 
WdfDeviceIoNeither 
WdfDeviceIoBuffered 
WdfDeviceIoDirect 
WdfDeviceIoBufferedOrDirect 
WdfDeviceIoMaximum 

Definition at line 449 of file wdfdevice.h.

449 {
enum _WDF_DEVICE_IO_TYPE * PWDF_DEVICE_IO_TYPE
enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
@ WdfDeviceIoNeither
Definition: wdfdevice.h:451
@ WdfDeviceIoUndefined
Definition: wdfdevice.h:450
@ WdfDeviceIoBuffered
Definition: wdfdevice.h:452
@ WdfDeviceIoMaximum
Definition: wdfdevice.h:455
@ WdfDeviceIoBufferedOrDirect
Definition: wdfdevice.h:454
@ WdfDeviceIoDirect
Definition: wdfdevice.h:453

◆ _WDF_DEVICE_PNP_STATE

Enumerator
WdfDevStatePnpInvalid 
WdfDevStatePnpObjectCreated 
WdfDevStatePnpCheckForDevicePresence 
WdfDevStatePnpEjectFailed 
WdfDevStatePnpEjectHardware 
WdfDevStatePnpEjectedWaitingForRemove 
WdfDevStatePnpInit 
WdfDevStatePnpInitStarting 
WdfDevStatePnpInitSurpriseRemoved 
WdfDevStatePnpHardwareAvailable 
WdfDevStatePnpEnableInterfaces 
WdfDevStatePnpHardwareAvailablePowerPolicyFailed 
WdfDevStatePnpQueryRemoveAskDriver 
WdfDevStatePnpQueryRemovePending 
WdfDevStatePnpQueryRemoveStaticCheck 
WdfDevStatePnpQueriedRemoving 
WdfDevStatePnpQueryStopAskDriver 
WdfDevStatePnpQueryStopPending 
WdfDevStatePnpQueryStopStaticCheck 
WdfDevStatePnpQueryCanceled 
WdfDevStatePnpRemoved 
WdfDevStatePnpPdoRemoved 
WdfDevStatePnpRemovedPdoWait 
WdfDevStatePnpRemovedPdoSurpriseRemoved 
WdfDevStatePnpRemovingDisableInterfaces 
WdfDevStatePnpRestarting 
WdfDevStatePnpStarted 
WdfDevStatePnpStartedCancelStop 
WdfDevStatePnpStartedCancelRemove 
WdfDevStatePnpStartedRemoving 
WdfDevStatePnpStartingFromStopped 
WdfDevStatePnpStopped 
WdfDevStatePnpStoppedWaitForStartCompletion 
WdfDevStatePnpStartedStopping 
WdfDevStatePnpSurpriseRemove 
WdfDevStatePnpInitQueryRemove 
WdfDevStatePnpInitQueryRemoveCanceled 
WdfDevStatePnpFdoRemoved 
WdfDevStatePnpRemovedWaitForChildren 
WdfDevStatePnpQueriedSurpriseRemove 
WdfDevStatePnpSurpriseRemoveIoStarted 
WdfDevStatePnpFailedPowerDown 
WdfDevStatePnpFailedIoStarting 
WdfDevStatePnpFailedOwnHardware 
WdfDevStatePnpFailed 
WdfDevStatePnpFailedSurpriseRemoved 
WdfDevStatePnpFailedStarted 
WdfDevStatePnpFailedWaitForRemove 
WdfDevStatePnpFailedInit 
WdfDevStatePnpPdoInitFailed 
WdfDevStatePnpRestart 
WdfDevStatePnpRestartReleaseHardware 
WdfDevStatePnpRestartHardwareAvailable 
WdfDevStatePnpPdoRestart 
WdfDevStatePnpFinal 
WdfDevStatePnpRemovedChildrenRemoved 
WdfDevStatePnpQueryRemoveEnsureDeviceAwake 
WdfDevStatePnpQueryStopEnsureDeviceAwake 
WdfDevStatePnpFailedPowerPolicyRemoved 
WdfDevStatePnpNull 

Definition at line 62 of file wdfdevice.h.

62 {
69 WdfDevStatePnpInit = 0x105,
107 WdfDevStatePnpFailed = 0x12B,
113 WdfDevStatePnpRestart = 0x131,
117 WdfDevStatePnpFinal = 0x135,
122 WdfDevStatePnpNull = 0x13A,
@ WdfDevStatePnpInit
Definition: wdfdevice.h:69
@ WdfDevStatePnpFailedPowerPolicyRemoved
Definition: wdfdevice.h:121
@ WdfDevStatePnpFinal
Definition: wdfdevice.h:117
@ WdfDevStatePnpFailedSurpriseRemoved
Definition: wdfdevice.h:108
@ WdfDevStatePnpFailed
Definition: wdfdevice.h:107
@ WdfDevStatePnpInitQueryRemove
Definition: wdfdevice.h:98
@ WdfDevStatePnpHardwareAvailablePowerPolicyFailed
Definition: wdfdevice.h:74
@ WdfDevStatePnpQueryRemovePending
Definition: wdfdevice.h:76
@ WdfDevStatePnpStartedStopping
Definition: wdfdevice.h:96
@ WdfDevStatePnpInitSurpriseRemoved
Definition: wdfdevice.h:71
@ WdfDevStatePnpRemovedChildrenRemoved
Definition: wdfdevice.h:118
@ WdfDevStatePnpEjectedWaitingForRemove
Definition: wdfdevice.h:68
@ WdfDevStatePnpRemovingDisableInterfaces
Definition: wdfdevice.h:87
@ WdfDevStatePnpRemoved
Definition: wdfdevice.h:83
@ WdfDevStatePnpStartedCancelStop
Definition: wdfdevice.h:90
@ WdfDevStatePnpStartedRemoving
Definition: wdfdevice.h:92
@ WdfDevStatePnpRemovedWaitForChildren
Definition: wdfdevice.h:101
@ WdfDevStatePnpQueryStopAskDriver
Definition: wdfdevice.h:79
@ WdfDevStatePnpQueriedSurpriseRemove
Definition: wdfdevice.h:102
@ WdfDevStatePnpFailedIoStarting
Definition: wdfdevice.h:105
@ WdfDevStatePnpRestart
Definition: wdfdevice.h:113
@ WdfDevStatePnpStarted
Definition: wdfdevice.h:89
@ WdfDevStatePnpPdoRemoved
Definition: wdfdevice.h:84
@ WdfDevStatePnpInitStarting
Definition: wdfdevice.h:70
@ WdfDevStatePnpFailedPowerDown
Definition: wdfdevice.h:104
@ WdfDevStatePnpStartingFromStopped
Definition: wdfdevice.h:93
@ WdfDevStatePnpFdoRemoved
Definition: wdfdevice.h:100
@ WdfDevStatePnpStopped
Definition: wdfdevice.h:94
@ WdfDevStatePnpSurpriseRemove
Definition: wdfdevice.h:97
@ WdfDevStatePnpQueryStopStaticCheck
Definition: wdfdevice.h:81
@ WdfDevStatePnpEnableInterfaces
Definition: wdfdevice.h:73
@ WdfDevStatePnpFailedOwnHardware
Definition: wdfdevice.h:106
@ WdfDevStatePnpRemovedPdoWait
Definition: wdfdevice.h:85
@ WdfDevStatePnpQueryRemoveStaticCheck
Definition: wdfdevice.h:77
@ WdfDevStatePnpRestartHardwareAvailable
Definition: wdfdevice.h:115
@ WdfDevStatePnpFailedStarted
Definition: wdfdevice.h:109
@ WdfDevStatePnpQueryRemoveEnsureDeviceAwake
Definition: wdfdevice.h:119
@ WdfDevStatePnpStartedCancelRemove
Definition: wdfdevice.h:91
@ WdfDevStatePnpQueriedRemoving
Definition: wdfdevice.h:78
@ WdfDevStatePnpEjectHardware
Definition: wdfdevice.h:67
@ WdfDevStatePnpQueryStopEnsureDeviceAwake
Definition: wdfdevice.h:120
@ WdfDevStatePnpQueryStopPending
Definition: wdfdevice.h:80
@ WdfDevStatePnpPdoRestart
Definition: wdfdevice.h:116
@ WdfDevStatePnpQueryCanceled
Definition: wdfdevice.h:82
@ WdfDevStatePnpQueryRemoveAskDriver
Definition: wdfdevice.h:75
@ WdfDevStatePnpRemovedPdoSurpriseRemoved
Definition: wdfdevice.h:86
@ WdfDevStatePnpStoppedWaitForStartCompletion
Definition: wdfdevice.h:95
@ WdfDevStatePnpRestarting
Definition: wdfdevice.h:88
@ WdfDevStatePnpFailedInit
Definition: wdfdevice.h:111
@ WdfDevStatePnpPdoInitFailed
Definition: wdfdevice.h:112
@ WdfDevStatePnpCheckForDevicePresence
Definition: wdfdevice.h:65
@ WdfDevStatePnpRestartReleaseHardware
Definition: wdfdevice.h:114
@ WdfDevStatePnpNull
Definition: wdfdevice.h:122
@ WdfDevStatePnpInitQueryRemoveCanceled
Definition: wdfdevice.h:99
@ WdfDevStatePnpObjectCreated
Definition: wdfdevice.h:64
@ WdfDevStatePnpFailedWaitForRemove
Definition: wdfdevice.h:110
@ WdfDevStatePnpSurpriseRemoveIoStarted
Definition: wdfdevice.h:103
@ WdfDevStatePnpEjectFailed
Definition: wdfdevice.h:66
@ WdfDevStatePnpHardwareAvailable
Definition: wdfdevice.h:72
@ WdfDevStatePnpInvalid
Definition: wdfdevice.h:63
enum _WDF_DEVICE_PNP_STATE * PWDF_DEVICE_PNP_STATE
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE

◆ _WDF_DEVICE_POWER_POLICY_STATE

Enumerator
WdfDevStatePwrPolInvalid 
WdfDevStatePwrPolObjectCreated 
WdfDevStatePwrPolStarting 
WdfDevStatePwrPolStartingSucceeded 
WdfDevStatePwrPolStartingFailed 
WdfDevStatePwrPolStartingDecideS0Wake 
WdfDevStatePwrPolStartedIdleCapable 
WdfDevStatePwrPolTimerExpiredNoWake 
WdfDevStatePwrPolTimerExpiredNoWakeCompletePowerDown 
WdfDevStatePwrPolWaitingUnarmed 
WdfDevStatePwrPolWaitingUnarmedQueryIdle 
WdfDevStatePwrPolS0NoWakePowerUp 
WdfDevStatePwrPolS0NoWakeCompletePowerUp 
WdfDevStatePwrPolSystemSleepFromDeviceWaitingUnarmed 
WdfDevStatePwrPolSystemSleepNeedWake 
WdfDevStatePwrPolSystemSleepNeedWakeCompletePowerUp 
WdfDevStatePwrPolSystemSleepPowerRequestFailed 
WdfDevStatePwrPolCheckPowerPageable 
WdfDevStatePwrPolSleepingWakeWakeArrived 
WdfDevStatePwrPolSleepingWakeRevertArmWake 
WdfDevStatePwrPolSystemAsleepWakeArmed 
WdfDevStatePwrPolSystemWakeDeviceWakeEnabled 
WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceled 
WdfDevStatePwrPolSystemWakeDeviceWakeDisarm 
WdfDevStatePwrPolSystemWakeDeviceWakeTriggered 
WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0 
WdfDevStatePwrPolSystemWakeDeviceWokeDisarm 
WdfDevStatePwrPolSleepingWakeWakeArrivedNP 
WdfDevStatePwrPolSleepingWakeRevertArmWakeNP 
WdfDevStatePwrPolSleepingWakePowerDownFailed 
WdfDevStatePwrPolSleepingWakePowerDownFailedWakeCanceled 
WdfDevStatePwrPolSystemAsleepWakeArmedNP 
WdfDevStatePwrPolSystemWakeDeviceWakeEnabledNP 
WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceledNP 
WdfDevStatePwrPolSystemWakeDeviceWakeDisarmNP 
WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredNP 
WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0NP 
WdfDevStatePwrPolSystemWakeDeviceWokeDisarmNP 
WdfDevStatePwrPolSystemWakeDeviceWakeCompletePowerUp 
WdfDevStatePwrPolSleeping 
WdfDevStatePwrPolSleepingNoWakePowerDown 
WdfDevStatePwrPolSleepingNoWakeCompletePowerDown 
WdfDevStatePwrPolSleepingNoWakeDxRequestFailed 
WdfDevStatePwrPolSleepingWakePowerDown 
WdfDevStatePwrPolSleepingSendWake 
WdfDevStatePwrPolSystemAsleepNoWake 
WdfDevStatePwrPolSystemWakeDeviceWakeDisabled 
WdfDevStatePwrPolSystemWakeDeviceToD0 
WdfDevStatePwrPolSystemWakeDeviceToD0CompletePowerUp 
WdfDevStatePwrPolSystemWakeQueryIdle 
WdfDevStatePwrPolStartedWakeCapable 
WdfDevStatePwrPolTimerExpiredDecideUsbSS 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDown 
WdfDevStatePwrPolTimerExpiredWakeCapableSendWake 
WdfDevStatePwrPolTimerExpiredWakeCapableUsbSS 
WdfDevStatePwrPolTimerExpiredWakeCapableWakeArrived 
WdfDevStatePwrPolTimerExpiredWakeCapableCancelWake 
WdfDevStatePwrPolTimerExpiredWakeCapableWakeCanceled 
WdfDevStatePwrPolTimerExpiredWakeCapableCleanup 
WdfDevStatePwrPolTimerExpiredWakeCapableDxAllocFailed 
WdfDevStatePwrPolTimerExpiredWakeCompletedPowerDown 
WdfDevStatePwrPolTimerExpiredWakeCompletedPowerUp 
WdfDevStatePwrPolWaitingArmedUsbSS 
WdfDevStatePwrPolWaitingArmed 
WdfDevStatePwrPolWaitingArmedQueryIdle 
WdfDevStatePwrPolIoPresentArmed 
WdfDevStatePwrPolIoPresentArmedWakeCanceled 
WdfDevStatePwrPolS0WakeDisarm 
WdfDevStatePwrPolS0WakeCompletePowerUp 
WdfDevStatePwrPolTimerExpiredWakeSucceeded 
WdfDevStatePwrPolTimerExpiredWakeCompletedDisarm 
WdfDevStatePwrPolTimerExpiredWakeCapableWakeSucceeded 
WdfDevStatePwrPolTimerExpiredWakeCapableWakeFailed 
WdfDevStatePwrPolWakeFailedUsbSS 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedCancelWake 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeCanceled 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedUsbSS 
WdfDevStatePwrPolCancelingWakeForSystemSleep 
WdfDevStatePwrPolCancelingWakeForSystemSleepWakeCanceled 
WdfDevStatePwrPolDisarmingWakeForSystemSleepCompletePowerUp 
WdfDevStatePwrPolPowerUpForSystemSleepFailed 
WdfDevStatePwrPolWokeFromS0UsbSS 
WdfDevStatePwrPolWokeFromS0 
WdfDevStatePwrPolWokeFromS0NotifyDriver 
WdfDevStatePwrPolStoppingResetDevice 
WdfDevStatePwrPolStoppingResetDeviceCompletePowerUp 
WdfDevStatePwrPolStoppingResetDeviceFailed 
WdfDevStatePwrPolStoppingD0 
WdfDevStatePwrPolStoppingD0Failed 
WdfDevStatePwrPolStoppingDisarmWake 
WdfDevStatePwrPolStoppingDisarmWakeCancelWake 
WdfDevStatePwrPolStoppingDisarmWakeWakeCanceled 
WdfDevStatePwrPolStopping 
WdfDevStatePwrPolStoppingFailed 
WdfDevStatePwrPolStoppingSendStatus 
WdfDevStatePwrPolStoppingCancelTimer 
WdfDevStatePwrPolStoppingWaitForIdleTimeout 
WdfDevStatePwrPolStoppingCancelUsbSS 
WdfDevStatePwrPolStoppingWaitForUsbSSCompletion 
WdfDevStatePwrPolStoppingCancelWake 
WdfDevStatePwrPolStopped 
WdfDevStatePwrPolCancelUsbSS 
WdfDevStatePwrPolStarted 
WdfDevStatePwrPolStartedCancelTimer 
WdfDevStatePwrPolStartedWaitForIdleTimeout 
WdfDevStatePwrPolStartedWakeCapableCancelTimerForSleep 
WdfDevStatePwrPolStartedWakeCapableWaitForIdleTimeout 
WdfDevStatePwrPolStartedWakeCapableSleepingUsbSS 
WdfDevStatePwrPolStartedIdleCapableCancelTimerForSleep 
WdfDevStatePwrPolStartedIdleCapableWaitForIdleTimeout 
WdfDevStatePwrPolDeviceD0PowerRequestFailed 
WdfDevStatePwrPolDevicePowerRequestFailed 
WdfDevStatePwrPolGotoDx 
WdfDevStatePwrPolGotoDxInDx 
WdfDevStatePwrPolDx 
WdfDevStatePwrPolGotoD0 
WdfDevStatePwrPolGotoD0InD0 
WdfDevStatePwrPolFinal 
WdfDevStatePwrPolSleepingPowerDownNotProcessed 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownNotProcessed 
WdfDevStatePwrPolTimerExpiredNoWakePowerDownNotProcessed 
WdfDevStatePwrPolTimerExpiredNoWakePoweredDownDisableIdleTimer 
WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown 
WdfDevStatePwrPolStoppingPoweringUp 
WdfDevStatePwrPolStoppingPoweringDown 
WdfDevStatePwrPolPowerUpForSystemSleepNotSeen 
WdfDevStatePwrPolWaitingArmedStoppingCancelUsbSS 
WdfDevStatePwrPolWaitingArmedWakeFailedCancelUsbSS 
WdfDevStatePwrPolWaitingArmedIoPresentCancelUsbSS 
WdfDevStatePwrPolWaitingArmedWakeSucceededCancelUsbSS 
WdfDevStatePwrPolCancelingUsbSSForSystemSleep 
WdfDevStatePwrPolStoppingD0CancelUsbSS 
WdfDevStatePwrPolStartingPoweredUp 
WdfDevStatePwrPolIdleCapableDeviceIdle 
WdfDevStatePwrPolDeviceIdleReturnToActive 
WdfDevStatePwrPolDeviceIdleSleeping 
WdfDevStatePwrPolDeviceIdleStopping 
WdfDevStatePwrPolTimerExpiredNoWakeUndoPowerDown 
WdfDevStatePwrPolWakeCapableDeviceIdle 
WdfDevStatePwrPolWakeCapableUsbSSCompleted 
WdfDevStatePwrPolTimerExpiredWakeCapableUndoPowerDown 
WdfDevStatePwrPolTimerExpiredWakeCompletedHardwareStarted 
WdfDevStatePwrPolStoppedRemoving 
WdfDevStatePwrPolRemoved 
WdfDevStatePwrPolRestarting 
WdfDevStatePwrPolRestartingFailed 
WdfDevStatePwrPolStartingPoweredUpFailed 
WdfDevStatePwrPolTimerExpiredNoWakeReturnToActive 
WdfDevStatePwrPolWaitingArmedWakeInterruptFired 
WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFired 
WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFiredNP 
WdfDevStatePwrPolTimerExpiredWakeCapableWakeInterruptArrived 
WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeInterruptArrived 
WdfDevStatePwrPolWaitingArmedWakeInterruptFiredDuringPowerDown 
WdfDevStatePwrPolNull 

Definition at line 230 of file wdfdevice.h.

230 {
345 WdfDevStatePwrPolDx = 0x571,
385 WdfDevStatePwrPolNull = 0x599,
enum _WDF_DEVICE_POWER_POLICY_STATE WDF_DEVICE_POWER_POLICY_STATE
@ WdfDevStatePwrPolGotoD0InD0
Definition: wdfdevice.h:347
@ WdfDevStatePwrPolSleepingWakePowerDownFailed
Definition: wdfdevice.h:260
@ WdfDevStatePwrPolStopping
Definition: wdfdevice.h:323
@ WdfDevStatePwrPolCancelingWakeForSystemSleepWakeCanceled
Definition: wdfdevice.h:309
@ WdfDevStatePwrPolWaitingArmed
Definition: wdfdevice.h:294
@ WdfDevStatePwrPolStartingFailed
Definition: wdfdevice.h:235
@ WdfDevStatePwrPolStoppingSendStatus
Definition: wdfdevice.h:325
@ WdfDevStatePwrPolTimerExpiredWakeCompletedPowerUp
Definition: wdfdevice.h:292
@ WdfDevStatePwrPolRestartingFailed
Definition: wdfdevice.h:376
@ WdfDevStatePwrPolSystemSleepFromDeviceWaitingUnarmed
Definition: wdfdevice.h:244
@ WdfDevStatePwrPolStartedWakeCapableWaitForIdleTimeout
Definition: wdfdevice.h:337
@ WdfDevStatePwrPolStoppingCancelTimer
Definition: wdfdevice.h:326
@ WdfDevStatePwrPolStoppingPoweringDown
Definition: wdfdevice.h:355
@ WdfDevStatePwrPolTimerExpiredWakeCapableWakeInterruptArrived
Definition: wdfdevice.h:382
@ WdfDevStatePwrPolWaitingArmedWakeInterruptFired
Definition: wdfdevice.h:379
@ WdfDevStatePwrPolWaitingUnarmed
Definition: wdfdevice.h:240
@ WdfDevStatePwrPolTimerExpiredNoWakeCompletePowerDown
Definition: wdfdevice.h:239
@ WdfDevStatePwrPolStoppingResetDevice
Definition: wdfdevice.h:315
@ WdfDevStatePwrPolStoppingDisarmWake
Definition: wdfdevice.h:320
@ WdfDevStatePwrPolWaitingArmedIoPresentCancelUsbSS
Definition: wdfdevice.h:359
@ WdfDevStatePwrPolSleepingNoWakeCompletePowerDown
Definition: wdfdevice.h:272
@ WdfDevStatePwrPolGotoDx
Definition: wdfdevice.h:343
@ WdfDevStatePwrPolTimerExpiredWakeCapableCancelWake
Definition: wdfdevice.h:287
@ WdfDevStatePwrPolS0NoWakeCompletePowerUp
Definition: wdfdevice.h:243
@ WdfDevStatePwrPolSleepingSendWake
Definition: wdfdevice.h:275
@ WdfDevStatePwrPolSystemSleepNeedWake
Definition: wdfdevice.h:245
@ WdfDevStatePwrPolSleepingWakeWakeArrived
Definition: wdfdevice.h:249
@ WdfDevStatePwrPolWakeCapableDeviceIdle
Definition: wdfdevice.h:369
@ WdfDevStatePwrPolTimerExpiredNoWakePoweredDownDisableIdleTimer
Definition: wdfdevice.h:352
@ WdfDevStatePwrPolS0NoWakePowerUp
Definition: wdfdevice.h:242
@ WdfDevStatePwrPolStoppingCancelUsbSS
Definition: wdfdevice.h:328
@ WdfDevStatePwrPolIoPresentArmedWakeCanceled
Definition: wdfdevice.h:297
@ WdfDevStatePwrPolTimerExpiredNoWakeUndoPowerDown
Definition: wdfdevice.h:368
@ WdfDevStatePwrPolSleepingNoWakeDxRequestFailed
Definition: wdfdevice.h:273
@ WdfDevStatePwrPolWaitingArmedWakeInterruptFiredDuringPowerDown
Definition: wdfdevice.h:384
@ WdfDevStatePwrPolDeviceIdleSleeping
Definition: wdfdevice.h:366
@ WdfDevStatePwrPolRemoved
Definition: wdfdevice.h:374
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDown
Definition: wdfdevice.h:283
@ WdfDevStatePwrPolSystemWakeQueryIdle
Definition: wdfdevice.h:280
@ WdfDevStatePwrPolStoppingPoweringUp
Definition: wdfdevice.h:354
@ WdfDevStatePwrPolWaitingUnarmedQueryIdle
Definition: wdfdevice.h:241
@ WdfDevStatePwrPolSystemWakeDeviceWakeDisarmNP
Definition: wdfdevice.h:265
@ WdfDevStatePwrPolDeviceIdleReturnToActive
Definition: wdfdevice.h:365
@ WdfDevStatePwrPolTimerExpiredWakeCompletedPowerDown
Definition: wdfdevice.h:291
@ WdfDevStatePwrPolSleepingWakePowerDownFailedWakeCanceled
Definition: wdfdevice.h:261
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownNotProcessed
Definition: wdfdevice.h:350
@ WdfDevStatePwrPolCancelingWakeForSystemSleep
Definition: wdfdevice.h:308
@ WdfDevStatePwrPolWaitingArmedQueryIdle
Definition: wdfdevice.h:295
@ WdfDevStatePwrPolStoppingDisarmWakeWakeCanceled
Definition: wdfdevice.h:322
@ WdfDevStatePwrPolTimerExpiredWakeCapableWakeArrived
Definition: wdfdevice.h:286
@ WdfDevStatePwrPolStartingPoweredUpFailed
Definition: wdfdevice.h:377
@ WdfDevStatePwrPolStarted
Definition: wdfdevice.h:333
@ WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredNP
Definition: wdfdevice.h:266
@ WdfDevStatePwrPolStartedWakeCapable
Definition: wdfdevice.h:281
@ WdfDevStatePwrPolStopped
Definition: wdfdevice.h:331
@ WdfDevStatePwrPolIdleCapableDeviceIdle
Definition: wdfdevice.h:364
@ WdfDevStatePwrPolTimerExpiredNoWakeReturnToActive
Definition: wdfdevice.h:378
@ WdfDevStatePwrPolStoppingCancelWake
Definition: wdfdevice.h:330
@ WdfDevStatePwrPolSleepingWakeWakeArrivedNP
Definition: wdfdevice.h:258
@ WdfDevStatePwrPolIoPresentArmed
Definition: wdfdevice.h:296
@ WdfDevStatePwrPolTimerExpiredWakeCapableUndoPowerDown
Definition: wdfdevice.h:371
@ WdfDevStatePwrPolStartedWakeCapableCancelTimerForSleep
Definition: wdfdevice.h:336
@ WdfDevStatePwrPolSleepingWakeRevertArmWake
Definition: wdfdevice.h:250
@ WdfDevStatePwrPolSystemWakeDeviceToD0
Definition: wdfdevice.h:278
@ WdfDevStatePwrPolNull
Definition: wdfdevice.h:385
@ WdfDevStatePwrPolTimerExpiredWakeSucceeded
Definition: wdfdevice.h:300
@ WdfDevStatePwrPolCheckPowerPageable
Definition: wdfdevice.h:248
@ WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0
Definition: wdfdevice.h:256
@ WdfDevStatePwrPolSystemWakeDeviceWokeDisarm
Definition: wdfdevice.h:257
@ WdfDevStatePwrPolGotoD0
Definition: wdfdevice.h:346
@ WdfDevStatePwrPolWokeFromS0
Definition: wdfdevice.h:313
@ WdfDevStatePwrPolSystemWakeDeviceWakeCompletePowerUp
Definition: wdfdevice.h:269
@ WdfDevStatePwrPolStartedCancelTimer
Definition: wdfdevice.h:334
@ WdfDevStatePwrPolSleepingNoWakePowerDown
Definition: wdfdevice.h:271
@ WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFired
Definition: wdfdevice.h:380
@ WdfDevStatePwrPolStartedIdleCapableWaitForIdleTimeout
Definition: wdfdevice.h:340
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeInterruptArrived
Definition: wdfdevice.h:383
@ WdfDevStatePwrPolStartedIdleCapable
Definition: wdfdevice.h:237
@ WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceledNP
Definition: wdfdevice.h:264
@ WdfDevStatePwrPolStartingDecideS0Wake
Definition: wdfdevice.h:236
@ WdfDevStatePwrPolSystemWakeDeviceToD0CompletePowerUp
Definition: wdfdevice.h:279
@ WdfDevStatePwrPolStartedWaitForIdleTimeout
Definition: wdfdevice.h:335
@ WdfDevStatePwrPolRestarting
Definition: wdfdevice.h:375
@ WdfDevStatePwrPolSystemWakeDeviceWakeInterruptFiredNP
Definition: wdfdevice.h:381
@ WdfDevStatePwrPolDeviceD0PowerRequestFailed
Definition: wdfdevice.h:341
@ WdfDevStatePwrPolStoppingD0
Definition: wdfdevice.h:318
@ WdfDevStatePwrPolDisarmingWakeForSystemSleepCompletePowerUp
Definition: wdfdevice.h:310
@ WdfDevStatePwrPolS0WakeCompletePowerUp
Definition: wdfdevice.h:299
@ WdfDevStatePwrPolSystemWakeDeviceWakeDisarm
Definition: wdfdevice.h:254
@ WdfDevStatePwrPolStoppingWaitForUsbSSCompletion
Definition: wdfdevice.h:329
@ WdfDevStatePwrPolFinal
Definition: wdfdevice.h:348
@ WdfDevStatePwrPolGotoDxInDx
Definition: wdfdevice.h:344
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedCancelWake
Definition: wdfdevice.h:305
@ WdfDevStatePwrPolSystemWakeDeviceWakeEnabled
Definition: wdfdevice.h:252
@ WdfDevStatePwrPolStartingSucceeded
Definition: wdfdevice.h:234
@ WdfDevStatePwrPolWaitingArmedWakeFailedCancelUsbSS
Definition: wdfdevice.h:358
@ WdfDevStatePwrPolStartingPoweredUp
Definition: wdfdevice.h:363
@ WdfDevStatePwrPolSystemWakeDeviceWakeEnabledWakeCanceled
Definition: wdfdevice.h:253
@ WdfDevStatePwrPolStoppingResetDeviceCompletePowerUp
Definition: wdfdevice.h:316
@ WdfDevStatePwrPolPowerUpForSystemSleepFailed
Definition: wdfdevice.h:311
@ WdfDevStatePwrPolSystemAsleepNoWake
Definition: wdfdevice.h:276
@ WdfDevStatePwrPolStoppingWaitForIdleTimeout
Definition: wdfdevice.h:327
@ WdfDevStatePwrPolPowerUpForSystemSleepNotSeen
Definition: wdfdevice.h:356
@ WdfDevStatePwrPolTimerExpiredWakeCapableWakeFailed
Definition: wdfdevice.h:303
@ WdfDevStatePwrPolTimerExpiredWakeCapableUsbSS
Definition: wdfdevice.h:285
@ WdfDevStatePwrPolSleeping
Definition: wdfdevice.h:270
@ WdfDevStatePwrPolStartedWakeCapableSleepingUsbSS
Definition: wdfdevice.h:338
@ WdfDevStatePwrPolDeviceIdleStopping
Definition: wdfdevice.h:367
@ WdfDevStatePwrPolSystemWakeDeviceWakeTriggered
Definition: wdfdevice.h:255
@ WdfDevStatePwrPolTimerExpiredNoWake
Definition: wdfdevice.h:238
@ WdfDevStatePwrPolStoppingFailed
Definition: wdfdevice.h:324
@ WdfDevStatePwrPolCancelUsbSS
Definition: wdfdevice.h:332
@ WdfDevStatePwrPolStarting
Definition: wdfdevice.h:233
@ WdfDevStatePwrPolTimerExpiredWakeCompletedDisarm
Definition: wdfdevice.h:301
@ WdfDevStatePwrPolTimerExpiredWakeCapableCleanup
Definition: wdfdevice.h:289
@ WdfDevStatePwrPolTimerExpiredNoWakePowerDownNotProcessed
Definition: wdfdevice.h:351
@ WdfDevStatePwrPolStoppingD0CancelUsbSS
Definition: wdfdevice.h:362
@ WdfDevStatePwrPolDevicePowerRequestFailed
Definition: wdfdevice.h:342
@ WdfDevStatePwrPolSystemSleepNeedWakeCompletePowerUp
Definition: wdfdevice.h:246
@ WdfDevStatePwrPolWaitingArmedUsbSS
Definition: wdfdevice.h:293
@ WdfDevStatePwrPolSystemWakeDeviceWakeDisabled
Definition: wdfdevice.h:277
@ WdfDevStatePwrPolTimerExpiredDecideUsbSS
Definition: wdfdevice.h:282
@ WdfDevStatePwrPolSleepingWakePowerDown
Definition: wdfdevice.h:274
@ WdfDevStatePwrPolStoppingResetDeviceFailed
Definition: wdfdevice.h:317
@ WdfDevStatePwrPolTimerExpiredWakeCapableWakeCanceled
Definition: wdfdevice.h:288
@ WdfDevStatePwrPolTimerExpiredWakeCapableDxAllocFailed
Definition: wdfdevice.h:290
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedUsbSS
Definition: wdfdevice.h:307
@ WdfDevStatePwrPolTimerExpiredWakeCapablePowerDownFailedWakeCanceled
Definition: wdfdevice.h:306
@ WdfDevStatePwrPolSystemWakeDeviceWakeTriggeredS0NP
Definition: wdfdevice.h:267
@ WdfDevStatePwrPolSystemAsleepWakeArmed
Definition: wdfdevice.h:251
@ WdfDevStatePwrPolCancelingUsbSSForSystemSleep
Definition: wdfdevice.h:361
@ WdfDevStatePwrPolStoppingDisarmWakeCancelWake
Definition: wdfdevice.h:321
@ WdfDevStatePwrPolStartedIdleCapableCancelTimerForSleep
Definition: wdfdevice.h:339
@ WdfDevStatePwrPolSleepingWakeRevertArmWakeNP
Definition: wdfdevice.h:259
@ WdfDevStatePwrPolSystemWakeDeviceWakeEnabledNP
Definition: wdfdevice.h:263
@ WdfDevStatePwrPolSystemWakeDeviceWokeDisarmNP
Definition: wdfdevice.h:268
@ WdfDevStatePwrPolInvalid
Definition: wdfdevice.h:231
@ WdfDevStatePwrPolStoppingD0Failed
Definition: wdfdevice.h:319
@ WdfDevStatePwrPolS0WakeDisarm
Definition: wdfdevice.h:298
@ WdfDevStatePwrPolWokeFromS0UsbSS
Definition: wdfdevice.h:312
@ WdfDevStatePwrPolWokeFromS0NotifyDriver
Definition: wdfdevice.h:314
@ WdfDevStatePwrPolSystemSleepPowerRequestFailed
Definition: wdfdevice.h:247
@ WdfDevStatePwrPolTimerExpiredWakeCapableSendWake
Definition: wdfdevice.h:284
@ WdfDevStatePwrPolSleepingPowerDownNotProcessed
Definition: wdfdevice.h:349
@ WdfDevStatePwrPolStoppedRemoving
Definition: wdfdevice.h:373
@ WdfDevStatePwrPolTimerExpiredWakeCapableWakeSucceeded
Definition: wdfdevice.h:302
@ WdfDevStatePwrPolObjectCreated
Definition: wdfdevice.h:232
@ WdfDevStatePwrPolWaitingArmedStoppingCancelUsbSS
Definition: wdfdevice.h:357
@ WdfDevStatePwrPolWaitingArmedWakeSucceededCancelUsbSS
Definition: wdfdevice.h:360
@ WdfDevStatePwrPolWakeCapableUsbSSCompleted
Definition: wdfdevice.h:370
@ WdfDevStatePwrPolSystemAsleepWakeArmedNP
Definition: wdfdevice.h:262
@ WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown
Definition: wdfdevice.h:353
@ WdfDevStatePwrPolTimerExpiredWakeCompletedHardwareStarted
Definition: wdfdevice.h:372
@ WdfDevStatePwrPolWakeFailedUsbSS
Definition: wdfdevice.h:304
@ WdfDevStatePwrPolDx
Definition: wdfdevice.h:345
@ WdfDevStateNP
Definition: wdfdevice.h:56
enum _WDF_DEVICE_POWER_POLICY_STATE * PWDF_DEVICE_POWER_POLICY_STATE

◆ _WDF_DEVICE_POWER_STATE

Enumerator
WdfDevStatePowerInvalid 
WdfDevStatePowerObjectCreated 
WdfDevStatePowerCheckDeviceType 
WdfDevStatePowerCheckDeviceTypeNP 
WdfDevStatePowerCheckParentState 
WdfDevStatePowerCheckParentStateNP 
WdfDevStatePowerEnablingWakeAtBus 
WdfDevStatePowerEnablingWakeAtBusNP 
WdfDevStatePowerD0 
WdfDevStatePowerD0NP 
WdfDevStatePowerD0BusWakeOwner 
WdfDevStatePowerD0BusWakeOwnerNP 
WdfDevStatePowerD0ArmedForWake 
WdfDevStatePowerD0ArmedForWakeNP 
WdfDevStatePowerD0DisarmingWakeAtBus 
WdfDevStatePowerD0DisarmingWakeAtBusNP 
WdfDevStatePowerD0Starting 
WdfDevStatePowerD0StartingConnectInterrupt 
WdfDevStatePowerD0StartingDmaEnable 
WdfDevStatePowerD0StartingStartSelfManagedIo 
WdfDevStatePowerDecideD0State 
WdfDevStatePowerGotoD3Stopped 
WdfDevStatePowerStopped 
WdfDevStatePowerStartingCheckDeviceType 
WdfDevStatePowerStartingChild 
WdfDevStatePowerDxDisablingWakeAtBus 
WdfDevStatePowerDxDisablingWakeAtBusNP 
WdfDevStatePowerGotoDx 
WdfDevStatePowerGotoDxNP 
WdfDevStatePowerGotoDxIoStopped 
WdfDevStatePowerGotoDxIoStoppedNP 
WdfDevStatePowerGotoDxNPFailed 
WdfDevStatePowerDx 
WdfDevStatePowerDxNP 
WdfDevStatePowerGotoDxArmedForWake 
WdfDevStatePowerGotoDxArmedForWakeNP 
WdfDevStatePowerGotoDxIoStoppedArmedForWake 
WdfDevStatePowerGotoDxIoStoppedArmedForWakeNP 
WdfDevStatePowerDxArmedForWake 
WdfDevStatePowerDxArmedForWakeNP 
WdfDevStatePowerCheckParentStateArmedForWake 
WdfDevStatePowerCheckParentStateArmedForWakeNP 
WdfDevStatePowerWaitForParentArmedForWake 
WdfDevStatePowerWaitForParentArmedForWakeNP 
WdfDevStatePowerStartSelfManagedIo 
WdfDevStatePowerStartSelfManagedIoNP 
WdfDevStatePowerStartSelfManagedIoFailed 
WdfDevStatePowerStartSelfManagedIoFailedNP 
WdfDevStatePowerWaitForParent 
WdfDevStatePowerWaitForParentNP 
WdfDevStatePowerWakePending 
WdfDevStatePowerWakePendingNP 
WdfDevStatePowerWaking 
WdfDevStatePowerWakingNP 
WdfDevStatePowerWakingConnectInterrupt 
WdfDevStatePowerWakingConnectInterruptNP 
WdfDevStatePowerWakingConnectInterruptFailed 
WdfDevStatePowerWakingConnectInterruptFailedNP 
WdfDevStatePowerWakingDmaEnable 
WdfDevStatePowerWakingDmaEnableNP 
WdfDevStatePowerWakingDmaEnableFailed 
WdfDevStatePowerWakingDmaEnableFailedNP 
WdfDevStatePowerReportPowerUpFailedDerefParent 
WdfDevStatePowerReportPowerUpFailed 
WdfDevStatePowerPowerFailedPowerDown 
WdfDevStatePowerReportPowerDownFailed 
WdfDevStatePowerInitialConnectInterruptFailed 
WdfDevStatePowerInitialDmaEnableFailed 
WdfDevStatePowerInitialSelfManagedIoFailed 
WdfDevStatePowerInitialPowerUpFailedDerefParent 
WdfDevStatePowerInitialPowerUpFailed 
WdfDevStatePowerDxStoppedDisarmWake 
WdfDevStatePowerDxStoppedDisarmWakeNP 
WdfDevStatePowerGotoDxStoppedDisableInterruptNP 
WdfDevStatePowerGotoDxStopped 
WdfDevStatePowerDxStopped 
WdfDevStatePowerGotoStopped 
WdfDevStatePowerStoppedCompleteDx 
WdfDevStatePowerDxStoppedDecideDxState 
WdfDevStatePowerDxStoppedArmForWake 
WdfDevStatePowerDxStoppedArmForWakeNP 
WdfDevStatePowerFinalPowerDownFailed 
WdfDevStatePowerFinal 
WdfDevStatePowerGotoImplicitD3DisarmWakeAtBus 
WdfDevStatePowerUpFailed 
WdfDevStatePowerUpFailedDerefParent 
WdfDevStatePowerGotoDxFailed 
WdfDevStatePowerGotoDxStoppedDisableInterrupt 
WdfDevStatePowerUpFailedNP 
WdfDevStatePowerUpFailedDerefParentNP 
WdfDevStatePowerNotifyingD0ExitToWakeInterrupts 
WdfDevStatePowerNotifyingD0EntryToWakeInterrupts 
WdfDevStatePowerNotifyingD0ExitToWakeInterruptsNP 
WdfDevStatePowerNotifyingD0EntryToWakeInterruptsNP 
WdfDevStatePowerNull 

Definition at line 128 of file wdfdevice.h.

128 {
137 WdfDevStatePowerD0 = 0x307,
161 WdfDevStatePowerDx = 0x31F,
211 WdfDevStatePowerFinal = 0x351,
223 WdfDevStatePowerNull = 0x35D,
enum _WDF_DEVICE_POWER_STATE * PWDF_DEVICE_POWER_STATE
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
@ WdfDevStatePowerStartingChild
Definition: wdfdevice.h:153
@ WdfDevStatePowerD0StartingDmaEnable
Definition: wdfdevice.h:147
@ WdfDevStatePowerDxStoppedArmForWakeNP
Definition: wdfdevice.h:209
@ WdfDevStatePowerDxStoppedDecideDxState
Definition: wdfdevice.h:207
@ WdfDevStatePowerDxStoppedDisarmWakeNP
Definition: wdfdevice.h:201
@ WdfDevStatePowerWakingConnectInterruptFailed
Definition: wdfdevice.h:185
@ WdfDevStatePowerNotifyingD0ExitToWakeInterruptsNP
Definition: wdfdevice.h:221
@ WdfDevStatePowerInitialPowerUpFailedDerefParent
Definition: wdfdevice.h:198
@ WdfDevStatePowerWakingDmaEnableFailedNP
Definition: wdfdevice.h:190
@ WdfDevStatePowerCheckParentStateNP
Definition: wdfdevice.h:134
@ WdfDevStatePowerDxDisablingWakeAtBusNP
Definition: wdfdevice.h:155
@ WdfDevStatePowerUpFailed
Definition: wdfdevice.h:213
@ WdfDevStatePowerD0StartingStartSelfManagedIo
Definition: wdfdevice.h:148
@ WdfDevStatePowerGotoDxIoStoppedArmedForWakeNP
Definition: wdfdevice.h:166
@ WdfDevStatePowerStartSelfManagedIoFailed
Definition: wdfdevice.h:175
@ WdfDevStatePowerCheckDeviceTypeNP
Definition: wdfdevice.h:132
@ WdfDevStatePowerGotoDxStopped
Definition: wdfdevice.h:203
@ WdfDevStatePowerWakePendingNP
Definition: wdfdevice.h:180
@ WdfDevStatePowerD0BusWakeOwner
Definition: wdfdevice.h:139
@ WdfDevStatePowerDxStopped
Definition: wdfdevice.h:204
@ WdfDevStatePowerGotoDxNPFailed
Definition: wdfdevice.h:160
@ WdfDevStatePowerD0BusWakeOwnerNP
Definition: wdfdevice.h:140
@ WdfDevStatePowerGotoDxStoppedDisableInterruptNP
Definition: wdfdevice.h:202
@ WdfDevStatePowerNotifyingD0ExitToWakeInterrupts
Definition: wdfdevice.h:219
@ WdfDevStatePowerD0ArmedForWake
Definition: wdfdevice.h:141
@ WdfDevStatePowerWakingDmaEnable
Definition: wdfdevice.h:187
@ WdfDevStatePowerWaitForParentArmedForWake
Definition: wdfdevice.h:171
@ WdfDevStatePowerD0DisarmingWakeAtBus
Definition: wdfdevice.h:143
@ WdfDevStatePowerDxNP
Definition: wdfdevice.h:162
@ WdfDevStatePowerD0Starting
Definition: wdfdevice.h:145
@ WdfDevStatePowerGotoDxFailed
Definition: wdfdevice.h:215
@ WdfDevStatePowerWakingConnectInterruptFailedNP
Definition: wdfdevice.h:186
@ WdfDevStatePowerCheckDeviceType
Definition: wdfdevice.h:131
@ WdfDevStatePowerD0StartingConnectInterrupt
Definition: wdfdevice.h:146
@ WdfDevStatePowerStartSelfManagedIoFailedNP
Definition: wdfdevice.h:176
@ WdfDevStatePowerUpFailedNP
Definition: wdfdevice.h:217
@ WdfDevStatePowerWaitForParentNP
Definition: wdfdevice.h:178
@ WdfDevStatePowerWaking
Definition: wdfdevice.h:181
@ WdfDevStatePowerWaitForParent
Definition: wdfdevice.h:177
@ WdfDevStatePowerGotoImplicitD3DisarmWakeAtBus
Definition: wdfdevice.h:212
@ WdfDevStatePowerEnablingWakeAtBus
Definition: wdfdevice.h:135
@ WdfDevStatePowerD0
Definition: wdfdevice.h:137
@ WdfDevStatePowerReportPowerUpFailedDerefParent
Definition: wdfdevice.h:191
@ WdfDevStatePowerDxDisablingWakeAtBus
Definition: wdfdevice.h:154
@ WdfDevStatePowerFinalPowerDownFailed
Definition: wdfdevice.h:210
@ WdfDevStatePowerDxArmedForWake
Definition: wdfdevice.h:167
@ WdfDevStatePowerReportPowerUpFailed
Definition: wdfdevice.h:192
@ WdfDevStatePowerGotoDxArmedForWakeNP
Definition: wdfdevice.h:164
@ WdfDevStatePowerCheckParentStateArmedForWake
Definition: wdfdevice.h:169
@ WdfDevStatePowerGotoDxIoStoppedArmedForWake
Definition: wdfdevice.h:165
@ WdfDevStatePowerGotoDxIoStopped
Definition: wdfdevice.h:158
@ WdfDevStatePowerWakingConnectInterruptNP
Definition: wdfdevice.h:184
@ WdfDevStatePowerWakingDmaEnableNP
Definition: wdfdevice.h:188
@ WdfDevStatePowerInitialSelfManagedIoFailed
Definition: wdfdevice.h:197
@ WdfDevStatePowerCheckParentStateArmedForWakeNP
Definition: wdfdevice.h:170
@ WdfDevStatePowerGotoDxStoppedDisableInterrupt
Definition: wdfdevice.h:216
@ WdfDevStatePowerStartSelfManagedIoNP
Definition: wdfdevice.h:174
@ WdfDevStatePowerStopped
Definition: wdfdevice.h:151
@ WdfDevStatePowerWakingConnectInterrupt
Definition: wdfdevice.h:183
@ WdfDevStatePowerFinal
Definition: wdfdevice.h:211
@ WdfDevStatePowerD0ArmedForWakeNP
Definition: wdfdevice.h:142
@ WdfDevStatePowerDxArmedForWakeNP
Definition: wdfdevice.h:168
@ WdfDevStatePowerGotoDx
Definition: wdfdevice.h:156
@ WdfDevStatePowerCheckParentState
Definition: wdfdevice.h:133
@ WdfDevStatePowerInvalid
Definition: wdfdevice.h:129
@ WdfDevStatePowerInitialDmaEnableFailed
Definition: wdfdevice.h:196
@ WdfDevStatePowerWakePending
Definition: wdfdevice.h:179
@ WdfDevStatePowerWakingDmaEnableFailed
Definition: wdfdevice.h:189
@ WdfDevStatePowerInitialConnectInterruptFailed
Definition: wdfdevice.h:195
@ WdfDevStatePowerD0NP
Definition: wdfdevice.h:138
@ WdfDevStatePowerWaitForParentArmedForWakeNP
Definition: wdfdevice.h:172
@ WdfDevStatePowerUpFailedDerefParent
Definition: wdfdevice.h:214
@ WdfDevStatePowerD0DisarmingWakeAtBusNP
Definition: wdfdevice.h:144
@ WdfDevStatePowerDxStoppedDisarmWake
Definition: wdfdevice.h:200
@ WdfDevStatePowerGotoD3Stopped
Definition: wdfdevice.h:150
@ WdfDevStatePowerDecideD0State
Definition: wdfdevice.h:149
@ WdfDevStatePowerEnablingWakeAtBusNP
Definition: wdfdevice.h:136
@ WdfDevStatePowerReportPowerDownFailed
Definition: wdfdevice.h:194
@ WdfDevStatePowerNull
Definition: wdfdevice.h:223
@ WdfDevStatePowerGotoStopped
Definition: wdfdevice.h:205
@ WdfDevStatePowerGotoDxNP
Definition: wdfdevice.h:157
@ WdfDevStatePowerNotifyingD0EntryToWakeInterruptsNP
Definition: wdfdevice.h:222
@ WdfDevStatePowerStartingCheckDeviceType
Definition: wdfdevice.h:152
@ WdfDevStatePowerDxStoppedArmForWake
Definition: wdfdevice.h:208
@ WdfDevStatePowerObjectCreated
Definition: wdfdevice.h:130
@ WdfDevStatePowerDx
Definition: wdfdevice.h:161
@ WdfDevStatePowerGotoDxIoStoppedNP
Definition: wdfdevice.h:159
@ WdfDevStatePowerStoppedCompleteDx
Definition: wdfdevice.h:206
@ WdfDevStatePowerNotifyingD0EntryToWakeInterrupts
Definition: wdfdevice.h:220
@ WdfDevStatePowerWakingNP
Definition: wdfdevice.h:182
@ WdfDevStatePowerUpFailedDerefParentNP
Definition: wdfdevice.h:218
@ WdfDevStatePowerInitialPowerUpFailed
Definition: wdfdevice.h:199
@ WdfDevStatePowerGotoDxArmedForWake
Definition: wdfdevice.h:163
@ WdfDevStatePowerStartSelfManagedIo
Definition: wdfdevice.h:173
@ WdfDevStatePowerPowerFailedPowerDown
Definition: wdfdevice.h:193

◆ _WDF_DEVICE_STATE_FLAGS

Enumerator
WdfDevStateNP 

Definition at line 55 of file wdfdevice.h.

55 {
56 WdfDevStateNP = 0x8000,
WDF_EXTERN_C_START enum _WDF_DEVICE_STATE_FLAGS WDF_DEVICE_STATE_FLAGS

◆ _WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS

Enumerator
WDF_DISPATCH_IRP_TO_IO_QUEUE_NO_FLAGS 
WDF_DISPATCH_IRP_TO_IO_QUEUE_INVOKE_INCALLERCTX_CALLBACK 
WDF_DISPATCH_IRP_TO_IO_QUEUE_PREPROCESSED_IRP 

Definition at line 434 of file wdfdevice.h.

434 {
@ WDF_DISPATCH_IRP_TO_IO_QUEUE_NO_FLAGS
Definition: wdfdevice.h:435
@ WDF_DISPATCH_IRP_TO_IO_QUEUE_PREPROCESSED_IRP
Definition: wdfdevice.h:437
@ WDF_DISPATCH_IRP_TO_IO_QUEUE_INVOKE_INCALLERCTX_CALLBACK
Definition: wdfdevice.h:436
enum _WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS

◆ _WDF_FILEOBJECT_CLASS

Enumerator
WdfFileObjectInvalid 
WdfFileObjectNotRequired 
WdfFileObjectWdfCanUseFsContext 
WdfFileObjectWdfCanUseFsContext2 
WdfFileObjectWdfCannotUseFsContexts 
WdfFileObjectCanBeOptional 

Definition at line 458 of file wdfdevice.h.

458 {
464 WdfFileObjectCanBeOptional = 0x80000000,
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
enum _WDF_FILEOBJECT_CLASS * PWDF_FILEOBJECT_CLASS
@ WdfFileObjectWdfCanUseFsContext
Definition: wdfdevice.h:461
@ WdfFileObjectInvalid
Definition: wdfdevice.h:459
@ WdfFileObjectNotRequired
Definition: wdfdevice.h:460
@ WdfFileObjectWdfCanUseFsContext2
Definition: wdfdevice.h:462
@ WdfFileObjectWdfCannotUseFsContexts
Definition: wdfdevice.h:463
@ WdfFileObjectCanBeOptional
Definition: wdfdevice.h:464

◆ _WDF_POWER_DEVICE_STATE

Enumerator
WdfPowerDeviceInvalid 
WdfPowerDeviceD0 
WdfPowerDeviceD1 
WdfPowerDeviceD2 
WdfPowerDeviceD3 
WdfPowerDeviceD3Final 
WdfPowerDevicePrepareForHibernation 
WdfPowerDeviceMaximum 

Definition at line 421 of file wdfdevice.h.

421 {
@ WdfPowerDevicePrepareForHibernation
Definition: wdfdevice.h:428
@ WdfPowerDeviceD3Final
Definition: wdfdevice.h:427
@ WdfPowerDeviceD1
Definition: wdfdevice.h:424
@ WdfPowerDeviceInvalid
Definition: wdfdevice.h:422
@ WdfPowerDeviceD2
Definition: wdfdevice.h:425
@ WdfPowerDeviceMaximum
Definition: wdfdevice.h:429
@ WdfPowerDeviceD0
Definition: wdfdevice.h:423
@ WdfPowerDeviceD3
Definition: wdfdevice.h:426
enum _WDF_POWER_DEVICE_STATE WDF_POWER_DEVICE_STATE
enum _WDF_POWER_DEVICE_STATE * PWDF_POWER_DEVICE_STATE

◆ _WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS

Enumerator
IdleTimeoutDefaultConstant 

Definition at line 411 of file wdfdevice.h.

411 {
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS
@ IdleTimeoutDefaultConstant
Definition: wdfdevice.h:412

◆ _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE

Enumerator
DriverManagedIdleTimeout 
SystemManagedIdleTimeout 
SystemManagedIdleTimeoutWithHint 

Definition at line 1242 of file wdfdevice.h.

1242 {
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE * PWDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
@ SystemManagedIdleTimeout
Definition: wdfdevice.h:1244
@ SystemManagedIdleTimeoutWithHint
Definition: wdfdevice.h:1245
@ DriverManagedIdleTimeout
Definition: wdfdevice.h:1243

◆ _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES

Enumerator
IdleCapsInvalid 
IdleCannotWakeFromS0 
IdleCanWakeFromS0 
IdleUsbSelectiveSuspend 

Definition at line 398 of file wdfdevice.h.

398 {
399 IdleCapsInvalid = 0,
enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
@ IdleCapsInvalid
Definition: wdfdevice.h:399
@ IdleUsbSelectiveSuspend
Definition: wdfdevice.h:402
@ IdleCanWakeFromS0
Definition: wdfdevice.h:401
@ IdleCannotWakeFromS0
Definition: wdfdevice.h:400

◆ _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL

Enumerator
IdleUserControlInvalid 
IdleDoNotAllowUserControl 
IdleAllowUserControl 

Definition at line 405 of file wdfdevice.h.

405 {
enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
@ IdleDoNotAllowUserControl
Definition: wdfdevice.h:407
@ IdleAllowUserControl
Definition: wdfdevice.h:408
@ IdleUserControlInvalid
Definition: wdfdevice.h:406

◆ _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL

Enumerator
WakeUserControlInvalid 
WakeDoNotAllowUserControl 
WakeAllowUserControl 

Definition at line 415 of file wdfdevice.h.

415 {
@ WakeUserControlInvalid
Definition: wdfdevice.h:416
@ WakeAllowUserControl
Definition: wdfdevice.h:418
@ WakeDoNotAllowUserControl
Definition: wdfdevice.h:417
enum _WDF_POWER_POLICY_SX_WAKE_USER_CONTROL WDF_POWER_POLICY_SX_WAKE_USER_CONTROL

◆ _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE

Enumerator
WdfReleaseHardwareOrderOnFailureInvalid 
WdfReleaseHardwareOrderOnFailureEarly 
WdfReleaseHardwareOrderOnFailureAfterDescendants 

Definition at line 473 of file wdfdevice.h.

473 {
@ WdfReleaseHardwareOrderOnFailureEarly
Definition: wdfdevice.h:475
@ WdfReleaseHardwareOrderOnFailureAfterDescendants
Definition: wdfdevice.h:476
@ WdfReleaseHardwareOrderOnFailureInvalid
Definition: wdfdevice.h:474
enum _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE
enum _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE * PWDF_RELEASE_HARDWARE_ORDER_ON_FAILURE

◆ _WDF_REMOVE_LOCK_OPTIONS_FLAGS

Enumerator
WDF_REMOVE_LOCK_OPTION_ACQUIRE_FOR_IO 

Definition at line 1638 of file wdfdevice.h.

1638 {
@ WDF_REMOVE_LOCK_OPTION_ACQUIRE_FOR_IO
Definition: wdfdevice.h:1639
enum _WDF_REMOVE_LOCK_OPTIONS_FLAGS WDF_REMOVE_LOCK_OPTIONS_FLAGS

◆ _WDF_REQUEST_TYPE

Enumerator
WdfRequestTypeCreate 
WdfRequestTypeCreateNamedPipe 
WdfRequestTypeClose 
WdfRequestTypeRead 
WdfRequestTypeWrite 
WdfRequestTypeQueryInformation 
WdfRequestTypeSetInformation 
WdfRequestTypeQueryEA 
WdfRequestTypeSetEA 
WdfRequestTypeFlushBuffers 
WdfRequestTypeQueryVolumeInformation 
WdfRequestTypeSetVolumeInformation 
WdfRequestTypeDirectoryControl 
WdfRequestTypeFileSystemControl 
WdfRequestTypeDeviceControl 
WdfRequestTypeDeviceControlInternal 
WdfRequestTypeShutdown 
WdfRequestTypeLockControl 
WdfRequestTypeCleanup 
WdfRequestTypeCreateMailSlot 
WdfRequestTypeQuerySecurity 
WdfRequestTypeSetSecurity 
WdfRequestTypePower 
WdfRequestTypeSystemControl 
WdfRequestTypeDeviceChange 
WdfRequestTypeQueryQuota 
WdfRequestTypeSetQuota 
WdfRequestTypePnp 
WdfRequestTypeOther 
WdfRequestTypeUsb 
WdfRequestTypeNoFormat 
WdfRequestTypeMax 

Definition at line 502 of file wdfdevice.h.

502 { // taken from wdfrequest.h
506 WdfRequestTypeRead = 0x3,
525 WdfRequestTypePower = 0x16,
530 WdfRequestTypePnp = 0x1B,
532 WdfRequestTypeUsb = 0x40,
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
@ WdfRequestTypeDeviceChange
Definition: wdfdevice.h:527
@ WdfRequestTypeDeviceControlInternal
Definition: wdfdevice.h:518
@ WdfRequestTypeCreateNamedPipe
Definition: wdfdevice.h:504
@ WdfRequestTypeSetInformation
Definition: wdfdevice.h:509
@ WdfRequestTypeCleanup
Definition: wdfdevice.h:521
@ WdfRequestTypePnp
Definition: wdfdevice.h:530
@ WdfRequestTypeFlushBuffers
Definition: wdfdevice.h:512
@ WdfRequestTypeMax
Definition: wdfdevice.h:534
@ WdfRequestTypePower
Definition: wdfdevice.h:525
@ WdfRequestTypeShutdown
Definition: wdfdevice.h:519
@ WdfRequestTypeOther
Definition: wdfdevice.h:531
@ WdfRequestTypeQuerySecurity
Definition: wdfdevice.h:523
@ WdfRequestTypeCreate
Definition: wdfdevice.h:503
@ WdfRequestTypeSetVolumeInformation
Definition: wdfdevice.h:514
@ WdfRequestTypeSetEA
Definition: wdfdevice.h:511
@ WdfRequestTypeFileSystemControl
Definition: wdfdevice.h:516
@ WdfRequestTypeQueryVolumeInformation
Definition: wdfdevice.h:513
@ WdfRequestTypeUsb
Definition: wdfdevice.h:532
@ WdfRequestTypeClose
Definition: wdfdevice.h:505
@ WdfRequestTypeSystemControl
Definition: wdfdevice.h:526
@ WdfRequestTypeSetQuota
Definition: wdfdevice.h:529
@ WdfRequestTypeLockControl
Definition: wdfdevice.h:520
@ WdfRequestTypeCreateMailSlot
Definition: wdfdevice.h:522
@ WdfRequestTypeSetSecurity
Definition: wdfdevice.h:524
@ WdfRequestTypeWrite
Definition: wdfdevice.h:507
@ WdfRequestTypeQueryEA
Definition: wdfdevice.h:510
@ WdfRequestTypeQueryQuota
Definition: wdfdevice.h:528
@ WdfRequestTypeQueryInformation
Definition: wdfdevice.h:508
@ WdfRequestTypeRead
Definition: wdfdevice.h:506
@ WdfRequestTypeDeviceControl
Definition: wdfdevice.h:517
@ WdfRequestTypeDirectoryControl
Definition: wdfdevice.h:515
@ WdfRequestTypeNoFormat
Definition: wdfdevice.h:533

◆ _WDF_SPECIAL_FILE_TYPE

Enumerator
WdfSpecialFileUndefined 
WdfSpecialFilePaging 
WdfSpecialFileHibernation 
WdfSpecialFileDump 
WdfSpecialFileBoot 
WdfSpecialFileMax 

Definition at line 440 of file wdfdevice.h.

440 {
enum _WDF_SPECIAL_FILE_TYPE WDF_SPECIAL_FILE_TYPE
@ WdfSpecialFileBoot
Definition: wdfdevice.h:445
@ WdfSpecialFileMax
Definition: wdfdevice.h:446
@ WdfSpecialFileHibernation
Definition: wdfdevice.h:443
@ WdfSpecialFileUndefined
Definition: wdfdevice.h:441
@ WdfSpecialFileDump
Definition: wdfdevice.h:444
@ WdfSpecialFilePaging
Definition: wdfdevice.h:442
enum _WDF_SPECIAL_FILE_TYPE * PWDF_SPECIAL_FILE_TYPE

◆ _WDF_STATE_NOTIFICATION_TYPE

Enumerator
StateNotificationInvalid 
StateNotificationEnterState 
StateNotificationPostProcessState 
StateNotificationLeaveState 
StateNotificationAllStates 

Definition at line 390 of file wdfdevice.h.

390 {
enum _WDF_STATE_NOTIFICATION_TYPE WDF_STATE_NOTIFICATION_TYPE
@ StateNotificationInvalid
Definition: wdfdevice.h:391
@ StateNotificationEnterState
Definition: wdfdevice.h:392
@ StateNotificationAllStates
Definition: wdfdevice.h:395
@ StateNotificationPostProcessState
Definition: wdfdevice.h:393
@ StateNotificationLeaveState
Definition: wdfdevice.h:394

Function Documentation

◆ _Function_class_() [1/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_ARM_WAKE_FROM_S0  )

◆ _Function_class_() [2/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_ARM_WAKE_FROM_SX  )

◆ _Function_class_() [3/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON  )

◆ _Function_class_() [4/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_D0_ENTRY  )

◆ _Function_class_() [5/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED  )

◆ _Function_class_() [6/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_D0_EXIT  )

◆ _Function_class_() [7/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED  )

◆ _Function_class_() [8/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0  )

◆ _Function_class_() [9/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX  )

◆ _Function_class_() [10/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_FILE_CREATE  )

◆ _Function_class_() [11/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION  )

◆ _Function_class_() [12/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION  )

◆ _Function_class_() [13/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION  )

◆ _Function_class_() [14/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_PREPARE_HARDWARE  )

◆ _Function_class_() [15/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_QUERY_REMOVE  )

◆ _Function_class_() [16/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_QUERY_STOP  )

◆ _Function_class_() [17/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_RELATIONS_QUERY  )

◆ _Function_class_() [18/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_RELEASE_HARDWARE  )

◆ _Function_class_() [19/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP  )

◆ _Function_class_() [20/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH  )

◆ _Function_class_() [21/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT  )

◆ _Function_class_() [22/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART  )

◆ _Function_class_() [23/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND  )

◆ _Function_class_() [24/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_SURPRISE_REMOVAL  )

◆ _Function_class_() [25/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_USAGE_NOTIFICATION  )

◆ _Function_class_() [26/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX  )

◆ _Function_class_() [27/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED  )

◆ _Function_class_() [28/35]

typedef _Function_class_ ( EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED  )

◆ _Function_class_() [29/35]

typedef _Function_class_ ( EVT_WDF_FILE_CLEANUP  )

◆ _Function_class_() [30/35]

typedef _Function_class_ ( EVT_WDF_FILE_CLOSE  )

◆ _Function_class_() [31/35]

typedef _Function_class_ ( EVT_WDF_IO_IN_CALLER_CONTEXT  )

◆ _Function_class_() [32/35]

typedef _Function_class_ ( EVT_WDFDEVICE_WDM_IRP_DISPATCH  )

◆ _Function_class_() [33/35]

typedef _Function_class_ ( EVT_WDFDEVICE_WDM_IRP_PREPROCESS  )

◆ _Function_class_() [34/35]

typedef _Function_class_ ( EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE  )

◆ _Function_class_() [35/35]

typedef _Function_class_ ( EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE  )

◆ _IRQL_requires_max_() [1/2]

_Must_inspect_result_ _IRQL_requires_max_ ( APC_LEVEL  )

Definition at line 37 of file cddata.c.

254{
255 THREAD_CONTEXT ThreadContext = {0};
256 PIRP_CONTEXT IrpContext = NULL;
258
259#ifdef CD_SANITY
260 PVOID PreviousTopLevel;
261#endif
262
264
265#if DBG
266
267 KIRQL SaveIrql = KeGetCurrentIrql();
268
269#endif
270
272
274
276
277#ifdef CD_SANITY
278 PreviousTopLevel = IoGetTopLevelIrp();
279#endif
280
281 //
282 // Loop until this request has been completed or posted.
283 //
284
285 do {
286
287 //
288 // Use a try-except to handle the exception cases.
289 //
290
291 _SEH2_TRY {
292
293 //
294 // If the IrpContext is NULL then this is the first pass through
295 // this loop.
296 //
297
298 if (IrpContext == NULL) {
299
300 //
301 // Decide if this request is waitable an allocate the IrpContext.
302 // If the file object in the stack location is NULL then this
303 // is a mount which is always waitable. Otherwise we look at
304 // the file object flags.
305 //
306
308
309 Wait = TRUE;
310
311 } else {
312
313 Wait = CanFsdWait( Irp );
314 }
315
316 IrpContext = CdCreateIrpContext( Irp, Wait );
317
318 //
319 // Update the thread context information.
320 //
321
322 CdSetThreadContext( IrpContext, &ThreadContext );
323
324#ifdef CD_SANITY
325 NT_ASSERT( !CdTestTopLevel ||
326 SafeNodeType( IrpContext->TopLevel ) == CDFS_NTC_IRP_CONTEXT );
327#endif
328
329 //
330 // Otherwise cleanup the IrpContext for the retry.
331 //
332
333 } else {
334
335 //
336 // Set the MORE_PROCESSING flag to make sure the IrpContext
337 // isn't inadvertently deleted here. Then cleanup the
338 // IrpContext to perform the retry.
339 //
340
341 SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_MORE_PROCESSING );
342 CdCleanupIrpContext( IrpContext, FALSE );
343 }
344
345 //
346 // Case on the major irp code.
347 //
348
349 switch (IrpContext->MajorFunction) {
350
351 case IRP_MJ_CREATE :
352
353 Status = CdCommonCreate( IrpContext, Irp );
354 break;
355
356 case IRP_MJ_CLOSE :
357
358 Status = CdCommonClose( IrpContext, Irp );
359 break;
360
361 case IRP_MJ_READ :
362
363 //
364 // If this is an Mdl complete request, don't go through
365 // common read.
366 //
367
368 if (FlagOn( IrpContext->MinorFunction, IRP_MN_COMPLETE )) {
369
370 Status = CdCompleteMdl( IrpContext, Irp );
371
372 } else {
373
374 Status = CdCommonRead( IrpContext, Irp );
375 }
376
377 break;
378
379 case IRP_MJ_WRITE :
380
381 Status = CdCommonWrite( IrpContext, Irp );
382 break;
383
385
386 Status = CdCommonQueryInfo( IrpContext, Irp );
387 break;
388
390
391 Status = CdCommonSetInfo( IrpContext, Irp );
392 break;
393
395
396 Status = CdCommonQueryVolInfo( IrpContext, Irp );
397 break;
398
400
401 Status = CdCommonDirControl( IrpContext, Irp );
402 break;
403
405
406 Status = CdCommonFsControl( IrpContext, Irp );
407 break;
408
410
411 Status = CdCommonDevControl( IrpContext, Irp );
412 break;
413
415
416 Status = CdCommonLockControl( IrpContext, Irp );
417 break;
418
419 case IRP_MJ_CLEANUP :
420
421 Status = CdCommonCleanup( IrpContext, Irp );
422 break;
423
424 case IRP_MJ_PNP :
425
426 Status = CdCommonPnp( IrpContext, Irp );
427 break;
428
429 case IRP_MJ_SHUTDOWN :
430
431 Status = CdCommonShutdown( IrpContext, Irp );
432 break;
433
434 default :
435
437 CdCompleteRequest( IrpContext, Irp, Status );
438 }
439
441
442 Status = CdProcessException( IrpContext, Irp, _SEH2_GetExceptionCode() );
443 } _SEH2_END;
444
445 } while (Status == STATUS_CANT_WAIT);
446
447#ifdef CD_SANITY
448 NT_ASSERT( !CdTestTopLevel ||
449 (PreviousTopLevel == IoGetTopLevelIrp()) );
450#endif
451
453
454 NT_ASSERT( SaveIrql == KeGetCurrentIrql( ));
455
456 return Status;
457}
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:251
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1214
_In_ PIRP Irp
Definition: csq.h:116
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
Status
Definition: gdiplustypes.h:25
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:159
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:34
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:158
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2793
#define IRP_MN_COMPLETE
Definition: iotypes.h:4420
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define IRP_MJ_SHUTDOWN
#define IRP_MJ_CLEANUP
#define NT_ASSERT
Definition: rtlfuncs.h:3310

◆ _IRQL_requires_max_() [2/2]

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 923 of file Messaging.c.

75{
76 PFLT_SERVER_PORT_OBJECT PortObject;
78
79 /* The caller must allow at least one connection */
80 if (MaxConnections == 0)
81 {
83 }
84
85 /* The request must be for a kernel handle */
86 if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87 {
89 }
90
91 /*
92 * Get rundown protection on the target to stop the owner
93 * from unloading whilst this port object is open. It gets
94 * removed in the FltpServerPortClose callback
95 */
97 if (!NT_SUCCESS(Status))
98 {
99 return Status;
100 }
101
102 /* Create the server port object for this filter */
107 NULL,
109 0,
110 0,
111 (PVOID *)&PortObject);
112 if (NT_SUCCESS(Status))
113 {
114 /* Zero out the struct */
115 RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116
117 /* Increment the ref count on the target filter */
119
120 /* Setup the filter port object */
121 PortObject->Filter = Filter;
125 PortObject->Cookie = ServerPortCookie;
126 PortObject->MaxConnections = MaxConnections;
127
128 /* Insert the object */
129 Status = ObInsertObject(PortObject,
130 NULL,
132 0,
133 NULL,
135 if (NT_SUCCESS(Status))
136 {
137 /* Lock the connection list */
139
140 /* Add the new port object to the connection list and increment the count */
143
144 /* Unlock the connection list*/
146 }
147 }
148
149 if (!NT_SUCCESS(Status))
150 {
151 /* Allow the filter to be cleaned up */
153 }
154
155 return Status;
156}
static const INTERNET_PORT ServerPort
Definition: CWebService.cpp:11
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1877
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1875
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1874
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1876
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
static LONG MaxConnections
#define KernelMode
Definition: asm.h:34
#define FILE_READ_DATA
Definition: nt_native.h:628
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2935
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:1039
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
LIST_ENTRY mList
Definition: fltmgrint.h:56
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ _When_()

_Must_inspect_result_ _When_ ( WaitForD0  = = 0,
_IRQL_requires_max_(DISPATCH_LEVEL  
)
pure virtual

◆ WDF_DEVICE_PNP_CAPABILITIES_INIT()

FORCEINLINE VOID WDF_DEVICE_PNP_CAPABILITIES_INIT ( _Out_ PWDF_DEVICE_PNP_CAPABILITIES  Caps)

Definition at line 1539 of file wdfdevice.h.

1542{
1544
1545 Caps->Size = sizeof(WDF_DEVICE_PNP_CAPABILITIES);
1546
1547 Caps->LockSupported = WdfUseDefault;
1548 Caps->EjectSupported = WdfUseDefault;
1549 Caps->Removable = WdfUseDefault;
1550 Caps->DockDevice = WdfUseDefault;
1551 Caps->UniqueID = WdfUseDefault;
1552 Caps->SilentInstall = WdfUseDefault;
1553 Caps->SurpriseRemovalOK = WdfUseDefault;
1554 Caps->HardwareDisabled = WdfUseDefault;
1555 Caps->NoDisplayInUI = WdfUseDefault;
1556
1557 Caps->Address = (ULONG) -1;
1558 Caps->UINumber = (ULONG) -1;
1559}
uint32_t ULONG
Definition: typedefs.h:59
struct _WDF_DEVICE_PNP_CAPABILITIES WDF_DEVICE_PNP_CAPABILITIES
@ WdfUseDefault
Definition: wdftypes.h:89

◆ WDF_DEVICE_POWER_CAPABILITIES_INIT()

FORCEINLINE VOID WDF_DEVICE_POWER_CAPABILITIES_INIT ( _Out_ PWDF_DEVICE_POWER_CAPABILITIES  Caps)

Definition at line 1606 of file wdfdevice.h.

1609{
1610 ULONG i;
1611
1613
1614 Caps->Size = sizeof(WDF_DEVICE_POWER_CAPABILITIES);
1615
1616 Caps->DeviceD1 = WdfUseDefault;
1617 Caps->DeviceD2 = WdfUseDefault;
1618
1619 Caps->WakeFromD0 = WdfUseDefault;
1620 Caps->WakeFromD1 = WdfUseDefault;
1621 Caps->WakeFromD2 = WdfUseDefault;
1622 Caps->WakeFromD3 = WdfUseDefault;
1623
1624 for (i = 0; i < sizeof(Caps->DeviceState)/sizeof(Caps->DeviceState[1]); i++) {
1625 Caps->DeviceState[i] = PowerDeviceMaximum;
1626 }
1627
1628 Caps->DeviceWake = PowerDeviceMaximum;
1629 Caps->SystemWake = PowerSystemMaximum;
1630
1631 Caps->D1Latency = (ULONG) -1;
1632 Caps->D2Latency = (ULONG) -1;
1633 Caps->D3Latency = (ULONG) -1;
1634
1635 Caps->IdealDxStateForSx = PowerDeviceMaximum;
1636}
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
Definition: glfuncs.h:248
@ PowerSystemMaximum
Definition: ntpoapi.h:42
@ PowerDeviceMaximum
Definition: ntpoapi.h:53
struct _WDF_DEVICE_POWER_CAPABILITIES WDF_DEVICE_POWER_CAPABILITIES

◆ WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT()

FORCEINLINE VOID WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT ( _Out_ PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS  Settings,
_In_ WDF_POWER_POLICY_S0_IDLE_CAPABILITIES  IdleCaps 
)

Definition at line 1349 of file wdfdevice.h.

1353{
1355
1357
1358 Settings->IdleTimeout = IdleTimeoutDefaultValue;
1359 Settings->UserControlOfIdleSettings = IdleAllowUserControl;
1360 Settings->Enabled = WdfUseDefault;
1361 Settings->PowerUpIdleDeviceOnSystemWake = WdfUseDefault;
1362 Settings->IdleTimeoutType = DriverManagedIdleTimeout;
1363 Settings->ExcludeD3Cold = WdfUseDefault;
1364
1365 Settings->IdleCaps = IdleCaps;
1366
1367 switch (IdleCaps) {
1369 case IdleCanWakeFromS0:
1370 Settings->DxState = PowerDeviceMaximum;
1371 break;
1372
1374 Settings->DxState = PowerDeviceD3;
1375 break;
1376 }
1377}
@ PowerDeviceD3
Definition: ntpoapi.h:52
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS
#define IdleTimeoutDefaultValue
Definition: wdfdevice.h:816

◆ WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT()

FORCEINLINE VOID WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT ( _Out_ PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS  Settings)

Definition at line 1431 of file wdfdevice.h.

1434{
1436
1438
1439 Settings->Enabled = WdfUseDefault;
1440 Settings->DxState = PowerDeviceMaximum;
1441 Settings->UserControlOfWakeSettings = WakeAllowUserControl;
1442}
struct _WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

◆ WDF_DEVICE_PROPERTY_DATA_INIT()

FORCEINLINE VOID WDF_DEVICE_PROPERTY_DATA_INIT ( _Out_ PWDF_DEVICE_PROPERTY_DATA  PropertyData,
_In_ const DEVPROPKEY PropertyKey 
)

Definition at line 1935 of file wdfdevice.h.

1939{
1941
1942 PropertyData->Size = sizeof(*PropertyData);
1943 PropertyData->PropertyKey = PropertyKey;
1944}
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData
_In_ CONST DEVPROPKEY * PropertyKey
Definition: iofuncs.h:2414

◆ WDF_DEVICE_STATE_INIT()

FORCEINLINE VOID WDF_DEVICE_STATE_INIT ( _Out_ PWDF_DEVICE_STATE  PnpDeviceState)

Definition at line 1490 of file wdfdevice.h.

1493{
1494 RtlZeroMemory(PnpDeviceState, sizeof(WDF_DEVICE_STATE));
1495
1496 PnpDeviceState->Size = sizeof(WDF_DEVICE_STATE);
1497
1498 //
1499 // Initializes all of the fields to the WdfUseDefault enum value
1500 //
1501 PnpDeviceState->Disabled = WdfUseDefault;
1502 PnpDeviceState->DontDisplayInUI = WdfUseDefault;
1503 PnpDeviceState->Failed = WdfUseDefault;
1504 PnpDeviceState->NotDisableable = WdfUseDefault;
1505 PnpDeviceState->Removed = WdfUseDefault;
1506 PnpDeviceState->ResourcesChanged = WdfUseDefault;
1507}
struct _WDF_DEVICE_STATE WDF_DEVICE_STATE

◆ WDF_FILEOBJECT_CONFIG_INIT()

FORCEINLINE VOID WDF_FILEOBJECT_CONFIG_INIT ( _Out_ PWDF_FILEOBJECT_CONFIG  FileEventCallbacks,
_In_opt_ PFN_WDF_DEVICE_FILE_CREATE  EvtDeviceFileCreate,
_In_opt_ PFN_WDF_FILE_CLOSE  EvtFileClose,
_In_opt_ PFN_WDF_FILE_CLEANUP  EvtFileCleanup 
)

Definition at line 625 of file wdfdevice.h.

631{
632 FileEventCallbacks->Size = sizeof(WDF_FILEOBJECT_CONFIG);
633
634 FileEventCallbacks->EvtDeviceFileCreate = EvtDeviceFileCreate;
635 FileEventCallbacks->EvtFileClose = EvtFileClose;
636 FileEventCallbacks->EvtFileCleanup = EvtFileCleanup;
637
638 FileEventCallbacks->FileObjectClass = WdfFileObjectWdfCannotUseFsContexts;
639 FileEventCallbacks->AutoForwardCleanupClose = WdfUseDefault;
640}
struct _WDF_FILEOBJECT_CONFIG WDF_FILEOBJECT_CONFIG

Referenced by DriverEvtDeviceAdd().

◆ WDF_IO_TYPE_CONFIG_INIT()

FORCEINLINE VOID WDF_IO_TYPE_CONFIG_INIT ( _Out_ PWDF_IO_TYPE_CONFIG  IoTypeConfig)

Definition at line 1888 of file wdfdevice.h.

1891{
1893 IoTypeConfig->Size = sizeof(WDF_IO_TYPE_CONFIG);
1894 IoTypeConfig->ReadWriteIoType = WdfDeviceIoBuffered;
1895 IoTypeConfig->DeviceControlIoType = WdfDeviceIoBuffered;
1896}
struct _WDF_IO_TYPE_CONFIG WDF_IO_TYPE_CONFIG

◆ WDF_PNPPOWER_EVENT_CALLBACKS_INIT()

FORCEINLINE VOID WDF_PNPPOWER_EVENT_CALLBACKS_INIT ( _Out_ PWDF_PNPPOWER_EVENT_CALLBACKS  Callbacks)

Definition at line 1214 of file wdfdevice.h.

1217{
1220}
const struct winhelp_callbacks Callbacks
Definition: callback.c:161
struct _WDF_PNPPOWER_EVENT_CALLBACKS WDF_PNPPOWER_EVENT_CALLBACKS

Referenced by DriverEvtDeviceAdd().

◆ WDF_POWER_FRAMEWORK_SETTINGS_INIT()

FORCEINLINE VOID WDF_POWER_FRAMEWORK_SETTINGS_INIT ( _Out_ PWDF_POWER_FRAMEWORK_SETTINGS  PowerFrameworkSettings)

Definition at line 1825 of file wdfdevice.h.

1828{
1832}
struct _WDF_POWER_FRAMEWORK_SETTINGS WDF_POWER_FRAMEWORK_SETTINGS

◆ WDF_POWER_POLICY_EVENT_CALLBACKS_INIT()

FORCEINLINE VOID WDF_POWER_POLICY_EVENT_CALLBACKS_INIT ( _Out_ PWDF_POWER_POLICY_EVENT_CALLBACKS  Callbacks)

Definition at line 1203 of file wdfdevice.h.

1206{
1208
1210}
struct _WDF_POWER_POLICY_EVENT_CALLBACKS WDF_POWER_POLICY_EVENT_CALLBACKS

◆ WDF_REMOVE_LOCK_OPTIONS_INIT()

FORCEINLINE VOID WDF_REMOVE_LOCK_OPTIONS_INIT ( _Out_ PWDF_REMOVE_LOCK_OPTIONS  RemoveLockOptions,
_In_ ULONG  Flags 
)

Definition at line 1661 of file wdfdevice.h.

1665{
1667
1669 RemoveLockOptions->Flags = Flags;
1670}
__in PWDFDEVICE_INIT __in PWDF_REMOVE_LOCK_OPTIONS RemoveLockOptions
struct _WDF_REMOVE_LOCK_OPTIONS WDF_REMOVE_LOCK_OPTIONS

Referenced by DriverEvtDeviceAdd().

◆ WdfDevStateIsNP()

FORCEINLINE BOOLEAN WdfDevStateIsNP ( _In_ ULONG  State)

Definition at line 1235 of file wdfdevice.h.

1238{
1239 return (State & WdfDevStateNP) ? TRUE : FALSE;
1240}

◆ WdfDevStateNormalize()