Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This header is used by wdf. For more information, see:
This topic orders the Windows Driver Frameworks (WDF) device object reference by category.
The categories on this page are:
- General Framework Device Object Event Callback Functions
- General Framework Device Object Initialization Methods
- General Framework Device Object Methods
- General Framework Device Object Structures and Enumerations
- Initialization Functions for Device Object Structures
General Framework Device Object Event Callback Functions
- EvtDeviceArmWakeFromS0
- EvtDeviceArmWakeFromSx
- EvtDeviceArmWakeFromSxWithReason
- EvtDeviceD0Entry
- EvtDeviceD0EntryPostInterruptsEnabled
- EvtDeviceD0Exit
- EvtDeviceD0ExitPreInterruptsDisabled
- EvtDeviceDisarmWakeFromS0
- EvtDeviceDisarmWakeFromSx
- EvtDeviceFileCreate
- EvtDevicePnpStateChange
- EvtDevicePowerPolicyStateChange
- EvtDevicePowerStateChange
- EvtDevicePrepareHardware
- EvtDeviceQueryRemove
- EvtDeviceQueryStop
- EvtDeviceRelationsQuery
- EvtDeviceReleaseHardware
- EvtDeviceSelfManagedIoCleanup
- EvtDeviceSelfManagedIoFlush
- EvtDeviceSelfManagedIoInit
- EvtDeviceSelfManagedIoRestart
- EvtDeviceSelfManagedIoSuspend
- EvtDeviceSurpriseRemoval
- EvtDeviceUsageNotification
- EvtDeviceUsageNotificationEx
- EvtDeviceWakeFromS0Triggered
- EvtDeviceWakeFromSxTriggered
- EvtDeviceWdmIrpDispatch
- EvtDeviceWdmIrpPreprocess
- EvtDeviceWdmPostPoFxRegisterDevice
- EvtDeviceWdmPrePoFxUnregisterDevice
- EvtFileCleanup
- EvtFileClose
- EvtIoInCallerContext
General Framework Device Object Initialization Methods
- WdfDeviceInitAssignName
- WdfDeviceInitAssignSDDLString
- WdfDeviceInitAssignWdmIrpPreprocessCallback
- WdfDeviceInitFree
- WdfDeviceInitRegisterPnpStateChangeCallback
- WdfDeviceInitRegisterPowerPolicyStateChangeCallback
- WdfDeviceInitRegisterPowerStateChangeCallback
- WdfDeviceInitSetCharacteristics
- WdfDeviceInitSetDeviceClass
- WdfDeviceInitSetDeviceType
- WdfDeviceInitSetExclusive
- WdfDeviceInitSetFileObjectConfig
- WdfDeviceInitSetIoInCallerContextCallback
- WdfDeviceInitSetIoType
- WdfDeviceInitSetIoTypeEx
- WdfDeviceInitSetPnpPowerEventCallbacks
- WdfDeviceInitSetPowerInrush
- WdfDeviceInitSetPowerNotPageable
- WdfDeviceInitSetPowerPageable
- WdfDeviceInitSetPowerPolicyEventCallbacks
- WdfDeviceInitSetPowerPolicyOwnership
- WdfDeviceInitSetReleaseHardwareOrderOnFailure
- WdfDeviceInitSetRemoveLockOptions
- WdfDeviceInitSetRequestAttributes
General Framework Device Object Methods
- WdfDeviceAddDependentUsageDeviceObject
- WdfDeviceAddRemovalRelationsPhysicalDevice
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAllocAndQueryProperty
- WdfDeviceAllocAndQueryPropertyEx
- WdfDeviceAssignInterfaceProperty
- WdfDeviceAssignMofResourceName
- WdfDeviceAssignProperty
- WdfDeviceAssignS0IdleSettings
- WdfDeviceAssignSxWakeSettings
- WdfDeviceClearRemovalRelationsDevices
- WdfDeviceConfigureRequestDispatching
- WdfDeviceConfigureWdmIrpDispatchCallback
- WdfDeviceCreate
- WdfDeviceCreateDeviceInterface
- WdfDeviceCreateSymbolicLink
- WdfDeviceEnqueueRequest
- WdfDeviceGetAlignmentRequirement
- WdfDeviceGetCharacteristics
- WdfDeviceGetDefaultQueue
- WdfDeviceGetDevicePnpState
- WdfDeviceGetDevicePowerPolicyState
- WdfDeviceGetDevicePowerState
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetDeviceState
- WdfDeviceGetDriver
- WdfDeviceGetFileObject
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceGetIoTarget
- WdfDeviceGetSystemPowerAction
- WdfDeviceIndicateWakeStatus
- WdfDeviceMapIoSpace
- WdfDeviceMiniportCreate
- WdfDeviceOpenDevicemapKey
- WdfDeviceOpenRegistryKey
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceQueryProperty
- WdfDeviceQueryPropertyEx
- WdfDeviceReadFromHardware
- WdfDeviceRemoveDependentUsageDeviceObject
- WdfDeviceRemoveRemovalRelationsPhysicalDevice
- WdfDeviceResumeIdle
- WdfDeviceResumeIdleWithTag
- WdfDeviceRetrieveDeviceInterfaceString
- WdfDeviceRetrieveDeviceName
- WdfDeviceSetAlignmentRequirement
- WdfDeviceSetBusInformationForChildren
- WdfDeviceSetCharacteristics
- WdfDeviceSetDeviceInterfaceState
- WdfDeviceSetDeviceState
- WdfDeviceSetFailed
- WdfDeviceSetPnpCapabilities
- WdfDeviceSetPowerCapabilities
- WdfDeviceSetSpecialFileSupport
- WdfDeviceSetStaticStopRemove
- WdfDeviceStopIdle
- WdfDeviceStopIdleWithTag
- WdfDeviceUnmapIoSpace
- WdfDeviceWdmAssignPowerFrameworkSettings
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
- WdfDeviceWdmDispatchPreprocessedIrp
- WdfDeviceWdmGetAttachedDevice
- WdfDeviceWdmGetDeviceObject
- WdfDeviceWdmGetPhysicalDevice
- WdfDeviceWriteToHardware
- WdfDevStateIsNP
- WdfDevStateNormalize
- WdfWdmDeviceGetWdfDeviceHandle
General Framework Device Object Structures and Enumerations
- WDF_DEVICE_FAILED_ACTION
- WDF_DEVICE_INTERFACE_PROPERTY_DATA
- 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_DISPATCH_IRP_TO_IO_QUEUE_FLAGS
- WDF_EVENT_TYPE
- 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_SPECIAL_FILE_TYPE
- WDF_STATE_NOTIFICATION_TYPE
- WDFDEVICE_INIT
Initialization Functions for Device Object Structures
- WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT
- WDF_DEVICE_PNP_CAPABILITIES_INIT
- WDF_DEVICE_POWER_CAPABILITIES_INIT
- WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT
- WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT
- WDF_DEVICE_PROPERTY_DATA_INIT
- WDF_DEVICE_STATE_INIT
- WDF_FILEOBJECT_CONFIG_INIT
- WDF_IO_TYPE_CONFIG_INIT
- WDF_PNPPOWER_EVENT_CALLBACKS_INIT
- WDF_POWER_FRAMEWORK_SETTINGS_INIT
- WDF_POWER_POLICY_EVENT_CALLBACKS_INIT
- WDF_REMOVE_LOCK_OPTIONS_INIT
wdfdevice.h contains the following programming interfaces:
Functions
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT The WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT function initializes a driver's WDF_DEVICE_INTERFACE_PROPERTY_DATA structure. |
WDF_DEVICE_PNP_CAPABILITIES_INIT The WDF_DEVICE_PNP_CAPABILITIES_INIT function initializes a WDF_DEVICE_PNP_CAPABILITIES structure. |
WDF_DEVICE_POWER_CAPABILITIES_INIT The WDF_DEVICE_POWER_CAPABILITIES_INIT function initializes a WDF_DEVICE_POWER_CAPABILITIES structure. |
WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT The WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT function initializes a driver's WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS structure. |
WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT The WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT function initializes a driver's WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS structure. |
WDF_DEVICE_PROPERTY_DATA_INIT The WDF_DEVICE_PROPERTY_DATA_INIT function initializes a driver's WDF_DEVICE_PROPERTY_DATA structure. |
WDF_DEVICE_STATE_INIT The WDF_DEVICE_STATE_INIT function initializes a driver's WDF_DEVICE_STATE structure. |
WDF_FILEOBJECT_CONFIG_INIT The WDF_FILEOBJECT_CONFIG_INIT function initializes a driver's WDF_FILEOBJECT_CONFIG structure. |
WDF_IO_TYPE_CONFIG_INIT The WDF_IO_TYPE_CONFIG_INIT function initializes a driver's WDF_IO_TYPE_CONFIG structure. |
WDF_PNPPOWER_EVENT_CALLBACKS_INIT The WDF_PNPPOWER_EVENT_CALLBACKS_INIT function initializes a driver's WDF_PNPPOWER_EVENT_CALLBACKS structure. |
WDF_POWER_FRAMEWORK_SETTINGS_INIT The WDF_POWER_FRAMEWORK_SETTINGS_INIT function initializes a WDF_POWER_FRAMEWORK_SETTINGS structure. |
WDF_POWER_POLICY_EVENT_CALLBACKS_INIT The WDF_POWER_POLICY_EVENT_CALLBACKS_INIT function initializes a driver's WDF_POWER_POLICY_EVENT_CALLBACKS structure. |
WDF_REMOVE_LOCK_OPTIONS_INIT The WDF_REMOVE_LOCK_OPTIONS_INIT function initializes a WDF_REMOVE_LOCK_OPTIONS structure. |
WdfDeviceAddDependentUsageDeviceObject The WdfDeviceAddDependentUsageDeviceObject method indicates that a specified device depends on another device when the specified device is used to store special files. |
WdfDeviceAddRemovalRelationsPhysicalDevice The WdfDeviceAddRemovalRelationsPhysicalDevice method indicates that a specified device must be removed when another specified device is removed. |
WdfDeviceAllocAndQueryInterfaceProperty The WdfDeviceAllocAndQueryInterfaceProperty method allocates a buffer and retrieves a specified device interface property. |
WdfDeviceAllocAndQueryProperty The WdfDeviceAllocAndQueryProperty method allocates a buffer and retrieves a specified device property. |
WdfDeviceAllocAndQueryPropertyEx The WdfDeviceAllocAndQueryPropertyEx method allocates a buffer and retrieves a specified device property. |
WdfDeviceAssignInterfaceProperty The WdfDeviceAssignInterfaceProperty method modifies the current value of a device interface property. |
WdfDeviceAssignMofResourceName The WdfDeviceAssignMofResourceName method registers a MOF resource name for a specified device. |
WdfDeviceAssignProperty The WdfDeviceAssignProperty method modifies the current setting of a device property. |
WdfDeviceAssignS0IdleSettings The WdfDeviceAssignS0IdleSettings method provides driver-supplied information that the framework uses when a device is idle and the system is in its working (S0) state. |
WdfDeviceAssignSxWakeSettings The WdfDeviceAssignSxWakeSettings method provides driver-supplied information about a device's ability to trigger a wake signal while both the device and the system are in a low-power state. |
WdfDeviceClearRemovalRelationsDevices The WdfDeviceClearRemovalRelationsDevices method removes all devices from the list of devices that must be removed when a specified device is removed. |
WdfDeviceConfigureRequestDispatching The WdfDeviceConfigureRequestDispatching method causes the framework to queue a specified type of I/O requests to a specified I/O queue. |
WdfDeviceConfigureWdmIrpDispatchCallback The WdfDeviceConfigureWdmIrpDispatchCallback method registers a driver's EvtDeviceWdmIrpDispatch callback function. |
WdfDeviceCreate The WdfDeviceCreate method creates a framework device object. |
WdfDeviceCreateDeviceInterface The WdfDeviceCreateDeviceInterface method creates a device interface for a specified device. |
WdfDeviceCreateSymbolicLink The WdfDeviceCreateSymbolicLink method creates a symbolic link to a specified device. |
WdfDeviceEnqueueRequest The WdfDeviceEnqueueRequest method delivers a specified I/O request to the framework, so that the framework can subsequently add the request to one of the I/O queues that the driver has created for the specified device. |
WdfDeviceGetAlignmentRequirement The WdfDeviceGetAlignmentRequirement method retrieves a device's address alignment requirement for memory transfer operations. |
WdfDeviceGetCharacteristics The WdfDeviceGetCharacteristics method returns device characteristics for a specified device. |
WdfDeviceGetDefaultQueue The WdfDeviceGetDefaultQueue method returns a handle to a device's default I/O queue. |
WdfDeviceGetDevicePnpState The WdfDeviceGetDevicePnpState method returns the current state of the framework's Plug and Play state machine for a specified device. |
WdfDeviceGetDevicePowerPolicyState The WdfDeviceGetDevicePowerPolicyState method returns the current state of the framework's power policy state machine, for a specified device. |
WdfDeviceGetDevicePowerState The WdfDeviceGetDevicePowerState method returns the current state of the framework's power state machine, for a specified device. |
WdfDeviceGetDeviceStackIoType The WdfDeviceGetDeviceStackIoType method retrieves the buffer access methods that the framework is using for a device. |
WdfDeviceGetDeviceState The WdfDeviceGetDeviceState method retrieves the device state for a specified device. |
WdfDeviceGetDriver The WdfDeviceGetDriver method returns a handle to the framework driver object that is associated with a specified framework device object. |
WdfDeviceGetFileObject The WdfDeviceGetFileObject method returns a handle to the framework file object that is associated with a specified WDM file object. |
WdfDeviceGetHardwareRegisterMappedAddress A driver calls WdfDeviceGetHardwareRegisterMappedAddress to get the user-mode mapped address of the memory resource it mapped previously using WdfDeviceMapIoSpace. |
WdfDeviceGetIoTarget The WdfDeviceGetIoTarget method returns a handle to a function or filter driver's local I/O target, for a specified device. |
WdfDeviceGetSystemPowerAction The WdfDeviceGetSystemPowerAction method returns the system power action, if any, that is currently occurring for the computer. |
WdfDeviceIndicateWakeStatus The WdfDeviceIndicateWakeStatus method informs the framework that the calling bus driver has stopped waiting for a specified device to trigger a wake signal on the bus. |
WdfDeviceInitAssignName The WdfDeviceInitAssignName method assigns a device name to a device's device object. |
WdfDeviceInitAssignSDDLString The WdfDeviceInitAssignSDDLString method assigns a security setting for a device. |
WdfDeviceInitAssignWdmIrpPreprocessCallback The WdfDeviceInitAssignWdmIrpPreprocessCallback method registers a callback function to handle an IRP major function code and, optionally, one or more minor function codes that are associated with the major function code. |
WdfDeviceInitFree The WdfDeviceInitFree method deallocates a WDFDEVICE_INIT structure. |
WdfDeviceInitRegisterPnpStateChangeCallback The WdfDeviceInitRegisterPnpStateChangeCallback method registers a driver-supplied event callback function that the framework calls when a device's Plug and Play state machine changes state. |
WdfDeviceInitRegisterPowerPolicyStateChangeCallback The WdfDeviceInitRegisterPowerPolicyStateChangeCallback method registers a driver-supplied event callback function that the framework calls when a device's power policy state machine changes state. |
WdfDeviceInitRegisterPowerStateChangeCallback The WdfDeviceInitRegisterPowerStateChangeCallback method registers a driver-supplied event callback function that the framework calls when a device's power state machine changes state. |
WdfDeviceInitSetCharacteristics The WdfDeviceInitSetCharacteristics method sets device characteristics for a specified device. |
WdfDeviceInitSetDeviceClass The WdfDeviceInitSetDeviceClass method specifies a GUID that identifies the device's device setup class. |
WdfDeviceInitSetDeviceType The WdfDeviceInitSetDeviceType method sets the device type for a specified device. |
WdfDeviceInitSetExclusive The WdfDeviceInitSetExclusive method indicates whether a specified device is an exclusive device. |
WdfDeviceInitSetFileObjectConfig The WdfDeviceInitSetFileObjectConfig method registers event callback functions and sets configuration information for the driver's framework file objects. |
WdfDeviceInitSetIoInCallerContextCallback The WdfDeviceInitSetIoInCallerContextCallback method registers a driver's EvtIoInCallerContext event callback function. |
WdfDeviceInitSetIoType The WdfDeviceInitSetIoType method sets the method or preference for how a driver will access the data buffers that are included in read and write requests for a specified device. |
WdfDeviceInitSetIoTypeEx The WdfDeviceInitSetIoTypeEx method sets the method or preference for how a driver will access the data buffers that are included in read and write requests, as well as device I/O control requests, for a specified device. |
WdfDeviceInitSetPnpPowerEventCallbacks The WdfDeviceInitSetPnpPowerEventCallbacks method registers a driver's Plug and Play and power management event callback functions. |
WdfDeviceInitSetPowerInrush The WdfDeviceInitSetPowerInrush method informs the power manager that the specified device requires an inrush of current when it starts. |
WdfDeviceInitSetPowerNotPageable The WdfDeviceInitSetPowerNotPageable method informs the power manager that the driver will not access pageable data while the system is transitioning between a sleeping state and the working (S0) state. |
WdfDeviceInitSetPowerPageable The WdfDeviceInitSetPowerPageable method informs the power manager that the driver must be able to access pageable data while the system is transitioning between a sleeping state and the working (S0) state. |
WdfDeviceInitSetPowerPolicyEventCallbacks The WdfDeviceInitSetPowerPolicyEventCallbacks method registers a driver's power policy event callback functions. |
WdfDeviceInitSetPowerPolicyOwnership The WdfDeviceInitSetPowerPolicyOwnership method establishes whether the calling driver is, or is not, the power policy owner for a specified device. |
WdfDeviceInitSetReleaseHardwareOrderOnFailure The WdfDeviceInitSetReleaseHardwareOrderOnFailure method specifies whether the framework calls the driver's EvtDeviceReleaseHardware callback function immediately after device failure, or waits until all child devices have been removed. |
WdfDeviceInitSetRemoveLockOptions The WdfDeviceInitSetRemoveLockOptions method causes the framework to acquire a remove lock before delivering an IRP of any type to the driver. |
WdfDeviceInitSetRequestAttributes The WdfDeviceInitSetRequestAttributes method sets object attributes that will be used for all of the framework request objects that the framework delivers to the driver from the device's I/O queues. |
WdfDeviceMapIoSpace The WdfDeviceMapIoSpace function maps the given physical address range to system address space and returns a pseudo base address. |
WdfDeviceOpenDevicemapKey The WdfDeviceOpenDevicemapKey method opens the DEVICEMAP key and creates a framework registry-key object that represents the registry key. |
WdfDeviceOpenRegistryKey The WdfDeviceOpenRegistryKey method opens a device's hardware key or a driver's software key in the registry and creates a framework registry-key object that represents the registry key. |
WdfDevicePostEvent The WdfDevicePostEvent method asynchronously notifies applications that are waiting for the specified event from a driver. |
WdfDeviceQueryInterfaceProperty The WdfDeviceQueryInterfaceProperty method retrieves a specified device interface property. |
WdfDeviceQueryProperty The WdfDeviceQueryProperty method retrieves a specified device property. |
WdfDeviceQueryPropertyEx The WdfDeviceQueryPropertyEx method retrieves a specified device property. |
WdfDeviceReadFromHardware The WdfDeviceReadFromHardware method is used internally by the framework. Do not use. |
WdfDeviceRemoveDependentUsageDeviceObject The WdfDeviceRemoveDependentUsageDeviceObject method indicates that a specified device no longer depends on another device when the specified device is used to store special files. |
WdfDeviceRemoveRemovalRelationsPhysicalDevice The WdfDeviceRemoveRemovalRelationsPhysicalDevice method removes a specified device from the list of devices that must be removed when another specified device is removed. |
WdfDeviceResumeIdle The WdfDeviceResumeIdle method informs the framework that the specified device is not in use and can be placed in a device low-power state if it remains idle. |
WdfDeviceResumeIdleWithTag The WdfDeviceResumeIdleWithTag macro decrements the power reference count for a specified framework device object and assigns the driver's current file name and line number to the reference. The macro also assigns a tag value to the reference. |
WdfDeviceRetrieveCompanionTarget This WdfDeviceRetrieveCompanionTarget function article is for internal use only. |
WdfDeviceRetrieveDeviceDirectoryString Learn more about: WdfDeviceRetrieveDeviceDirectoryString function |
WdfDeviceRetrieveDeviceInterfaceString The WdfDeviceRetrieveDeviceInterfaceString method retrieves the symbolic link name that the operating system assigned to a device interface that the driver registered for a specified device. |
WdfDeviceRetrieveDeviceName The WdfDeviceRetrieveDeviceName method returns the device name for a specified device. |
WdfDeviceSetAlignmentRequirement The WdfDeviceSetAlignmentRequirement method registers the driver's preferred address alignment for the data buffers that the device uses during memory transfer operations. |
WdfDeviceSetBusInformationForChildren The WdfDeviceSetBusInformationForChildren method sets information about a bus that a bus driver supports. This information is available to the bus's child devices. |
WdfDeviceSetCharacteristics The WdfDeviceSetCharacteristics method sets device characteristics for a specified device. |
WdfDeviceSetDeviceInterfaceState The WdfDeviceSetDeviceInterfaceState method enables or disables a device interface for a specified device. |
WdfDeviceSetDeviceInterfaceStateEx Learn more about: WdfDeviceSetDeviceInterfaceStateEx |
WdfDeviceSetDeviceState The WdfDeviceSetDeviceState method sets the device state for a specified device. |
WdfDeviceSetFailed The WdfDeviceSetFailed method informs the framework that the driver encountered a hardware or software error that is associated with a specified device. |
WdfDeviceSetPnpCapabilities The WdfDeviceSetPnpCapabilities method reports a device's Plug and Play capabilities. |
WdfDeviceSetPowerCapabilities The WdfDeviceSetPowerCapabilities method reports a device's power capabilities. |
WdfDeviceSetSpecialFileSupport The WdfDeviceSetSpecialFileSupport method enables or disables a function driver's support for special files, for the specified device. |
WdfDeviceSetStaticStopRemove The WdfDeviceSetStaticStopRemove method informs the framework whether a device can be stopped and removed. |
WdfDeviceStopIdle The WdfDeviceStopIdle method informs the framework that the specified device must be placed in its working (D0) power state. |
WdfDeviceStopIdleWithTag The WdfDeviceStopIdleWithTag macro increments the power reference count for a specified framework device object and assigns the driver's current file name and line number to the reference. The macro also assigns a tag value to the reference. |
WdfDeviceUnmapIoSpace The WdfDeviceUnmapIoSpace function unmaps a specified range of physical addresses previously mapped by the WdfDeviceMapIoSpace function. |
WdfDeviceWdmAssignPowerFrameworkSettings The WdfDeviceWdmAssignPowerFrameworkSettings method registers power management framework (PoFx) settings for single-component devices. |
WdfDeviceWdmDispatchIrp The WdfDeviceWdmDispatchIrp method returns a dispatched IRP to the framework from EvtDeviceWdmIrpDispatch. |
WdfDeviceWdmDispatchIrpToIoQueue The WdfDeviceWdmDispatchIrpToIoQueue method forwards the IRP to a specified I/O queue. |
WdfDeviceWdmDispatchPreprocessedIrp The WdfDeviceWdmDispatchPreprocessedIrp method returns a preprocessed IRP to the framework. |
WdfDeviceWdmGetAttachedDevice The WdfDeviceWdmGetAttachedDevice method returns the next-lower WDM device object in the device stack. |
WdfDeviceWdmGetDeviceObject The WdfDeviceWdmGetDeviceObject method returns the Windows Driver Model (WDM) device object that is associated with a specified framework device object. |
WdfDeviceWdmGetPhysicalDevice The WdfDeviceWdmGetPhysicalDevice method retrieves the physical device's WDM PDO from the device stack. |
WdfDeviceWriteToHardware The WdfDeviceWriteToHardware method is used internally by the framework. Do not use. |
WdfDevStateIsNP The WdfDevStateIsNP method returns a Boolean value that indicates whether a specified power state or power policy state is a nonpageable state. |
WdfDevStateNormalize The WdfDevStateNormalize method removes extra bits from a specified framework state machine value so that the driver can use the value as an index into an array of machine states. |
WdfWdmDeviceGetWdfDeviceHandle The WdfWdmDeviceGetWdfDeviceHandle method returns a handle to the framework device object that is associated with a specified WDM device object. |
Callback functions
EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 A driver's EvtDeviceArmWakeFromS0 event callback function arms (that is, enables) a device so that it can trigger a wake signal while in a low-power device state, if the system remains in the system working state (S0). |
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX A driver's EvtDeviceArmWakeFromSx event callback function arms (that is, enables) a device so that it can trigger a wake signal while in a low-power device state. |
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON A driver's EvtDeviceArmWakeFromSxWithReason event callback function arms (that is, enables) a device so that it can trigger a wake signal while in a low-power device state. |
EVT_WDF_DEVICE_D0_ENTRY A driver's EvtDeviceD0Entry event callback function performs operations that are needed when the driver's device enters the D0 power state. |
EVT_WDF_DEVICE_D0_ENTRY_POST_HARDWARE_ENABLED Learn more about: EVT_WDF_DEVICE_D0_ENTRY_POST_HARDWARE_ENABLED |
EVT_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED A driver's EvtDeviceD0EntryPostInterruptsEnabled event callback function performs device-specific operations that are required after the driver has enabled the device's hardware interrupts. |
EVT_WDF_DEVICE_D0_EXIT A driver's EvtDeviceD0Exit event callback function performs operations that are needed when the driver's device leaves the D0 power state. |
EVT_WDF_DEVICE_D0_EXIT_PRE_HARDWARE_DISABLED Learn more about: EVT_WDF_DEVICE_D0_EXIT_PRE_HARDWARE_DISABLED |
EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED A driver's EvtDeviceD0ExitPreInterruptsDisabled event callback function performs device-specific operations that are required before the driver disables the device's hardware interrupts. |
EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 A driver's EvtDeviceDisarmWakeFromS0 event callback function disarms (that is, disables) a device's ability to trigger a wake signal while in a low-power device state, if the system remains in the system working state (S0). |
EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX A driver's EvtDeviceDisarmWakeFromSx event callback function disarms (that is, disables) a device's ability to trigger a wake signal while the device and system are in low-power states. |
EVT_WDF_DEVICE_FILE_CREATE A driver's EvtDeviceFileCreate callback function handles operations that must be performed when an application requests access to a device. |
EVT_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION A driver's EvtDevicePnpStateChange event callback function informs the driver that a device's Plug and Play (PnP) state machine is moving from one state to another. |
EVT_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION A driver's EvtDevicePowerPolicyStateChange event callback function informs the driver that a device's power policy state machine is moving from one state to another. |
EVT_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION A driver's EvtDevicePowerStateChange event callback function informs the driver that a device's power state machine is moving from one state to another. |
EVT_WDF_DEVICE_PREPARE_HARDWARE A driver's EvtDevicePrepareHardware event callback function performs any operations that are needed to make a device accessible to the driver. |
EVT_WDF_DEVICE_QUERY_REMOVE A driver's EvtDeviceQueryRemove event callback function determines whether a specified device can be stopped and removed. |
EVT_WDF_DEVICE_QUERY_STOP A driver's EvtDeviceQueryStop event callback function determines whether a specified device can be stopped so that the PnP manager can redistribute system hardware resources. |
EVT_WDF_DEVICE_RELATIONS_QUERY A driver's EvtDeviceRelationsQuery event callback reports changes in the relationships among devices that are supported by the driver. |
EVT_WDF_DEVICE_RELEASE_HARDWARE A driver's EvtDeviceReleaseHardware event callback function performs operations that are needed when a device is no longer accessible. |
EVT_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP A driver's EvtDeviceSelfManagedIoCleanup event callback function handles deallocation activity for the device's self-managed I/O operations, after a device has been removed. |
EVT_WDF_DEVICE_SELF_MANAGED_IO_FLUSH A driver's EvtDeviceSelfManagedIoFlush event callback function handles flush activity for the device's self-managed I/O operations. |
EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT A driver's EvtDeviceSelfManagedIoInit event callback function initializes and starts the device's self-managed I/O operations. |
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART A driver's EvtDeviceSelfManagedIoRestart event callback function restarts a device's self-managed I/O operations. |
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND A driver's EvtDeviceSelfManagedIoSuspend event callback function suspends a device's self-managed I/O operations. |
EVT_WDF_DEVICE_SURPRISE_REMOVAL A driver's EvtDeviceSurpriseRemoval event callback function performs any operations that are needed after a device has been unexpectedly removed from the system or after a driver reports that the device has failed. |
EVT_WDF_DEVICE_USAGE_NOTIFICATION A driver's EvtDeviceUsageNotification event callback function informs the driver when a device is being used for special files. |
EVT_WDF_DEVICE_USAGE_NOTIFICATION_EX A driver's EvtDeviceUsageNotificationEx event callback function determines whether a device can support a special file type. |
EVT_WDF_DEVICE_WAKE_FROM_S0_TRIGGERED A driver's EvtDeviceWakeFromS0Triggered event callback function informs the driver that its device, which had previously entered a low-power device state while the system power state remained at S0, might have triggered a wake signal. |
EVT_WDF_DEVICE_WAKE_FROM_SX_TRIGGERED A driver's EvtDeviceWakeFromSxTriggered event callback function informs the driver that its device, which had previously entered a low-power device state because system power was reduced, might have triggered a wake signal. |
EVT_WDF_FILE_CLEANUP A driver's EvtFileCleanup callback function handles operations that must be performed when an application is closing all accesses to a device. |
EVT_WDF_FILE_CLOSE A driver's EvtFileClose callback function handles operations that must be performed when all of an application's accesses to a device have been closed. |
EVT_WDF_IO_IN_CALLER_CONTEXT A driver's EvtIoInCallerContext event callback function preprocesses an I/O request before the framework places it into an I/O queue. |
EVT_WDFDEVICE_WDM_IRP_DISPATCH A driver's EvtDeviceWdmIrpDispatch event callback function receives an IRP before the framework processes the IRP. |
EVT_WDFDEVICE_WDM_IRP_PREPROCESS A driver's EvtDeviceWdmIrpPreprocess event callback function receives an IRP before the framework processes the IRP. |
EVT_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE The EvtDeviceWdmPostPoFxRegisterDevice callback function performs device-specific operations after the framework has registered with the power framework. |
EVT_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE The EvtDeviceWdmPrePoFxUnregisterDevice callback function performs device-specific operations before the framework deletes a specified registration with the power framework. |
Structures
WDF_DEVICE_INTERFACE_PROPERTY_DATA The WDF_DEVICE_INTERFACE_PROPERTY_DATA structure describes a device interface property. |
WDF_DEVICE_PNP_CAPABILITIES The WDF_DEVICE_PNP_CAPABILITIES structure describes a device's Plug and Play capabilities. |
WDF_DEVICE_PNP_NOTIFICATION_DATA The WDF_DEVICE_PNP_NOTIFICATION_DATA structure describes a state change within a device's Plug and Play state machine. |
WDF_DEVICE_POWER_CAPABILITIES The WDF_DEVICE_POWER_CAPABILITIES structure describes a device's power capabilities. |
WDF_DEVICE_POWER_NOTIFICATION_DATA The WDF_DEVICE_POWER_NOTIFICATION_DATA structure describes a state change within a device's power state machine. |
WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS The WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS structure contains driver-supplied information that the framework uses when a device is idle and the system is in the system working state (S0). |
WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA The WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA structure describes a state change within a device's power policy state machine. |
WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS The WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS structure contains driver-supplied information about a device's ability to wake itself and the system, when both are in a low-power state. |
WDF_DEVICE_PROPERTY_DATA The WDF_DEVICE_PROPERTY_DATA structure describes a device property. |
WDF_DEVICE_STATE The WDF_DEVICE_STATE structure specifies a device's Plug and Play state. |
WDF_FILEOBJECT_CONFIG The WDF_FILEOBJECT_CONFIG structure contains configuration information of a driver's framework file objects. |
WDF_IO_TYPE_CONFIG The WDF_IO_TYPE_CONFIG structure specifies the driver's preferred buffer access method for read and write requests, and for device I/O control requests. |
WDF_PNPPOWER_EVENT_CALLBACKS The WDF_PNPPOWER_EVENT_CALLBACKS structure contains pointers to a driver's Plug and Play and power event callback functions. |
WDF_POWER_FRAMEWORK_SETTINGS The WDF_POWER_FRAMEWORK_SETTINGS structure describes power management framework (PoFx) settings for single-component devices. |
WDF_POWER_POLICY_EVENT_CALLBACKS The WDF_POWER_POLICY_EVENT_CALLBACKS structure contains pointers to a driver's power policy event callback functions. |
WDF_REMOVE_LOCK_OPTIONS The WDF_REMOVE_LOCK_OPTIONS structure specifies options for acquiring a remove lock before delivering an IRP to the driver. |
Enumerations
WDF_DEVICE_FAILED_ACTION The WDF_DEVICE_FAILED_ACTION enumeration identifies the action that the framework will take when a driver reports an unrecoverable software or hardware failure. |
WDF_DEVICE_HWACCESS_TARGET_SIZE This enumeration is used internally by the framework. Do not use. This enumeration is defined in wdfdevice.h. |
WDF_DEVICE_HWACCESS_TARGET_TYPE Learn how the WDF_DEVICE_HWACCESS_TARGET_SIZE enumeration is used internally by the framework. Do not use. This enumeration is defined in wdfdevice.h. |
WDF_DEVICE_IO_TYPE The WDF_DEVICE_IO_TYPE enumeration is used to specify a method for accessing data buffers. |
WDF_DEVICE_PNP_STATE The WDF_DEVICE_PNP_STATE enumeration identifies all of the states that the framework's Plug and Play state machine can enter. |
WDF_DEVICE_POWER_POLICY_STATE The WDF_DEVICE_POWER_POLICY_STATE enumeration identifies all of the states that the framework's power policy state machine can enter. |
WDF_DEVICE_POWER_STATE The WDF_DEVICE_POWER_STATE enumeration identifies all of the states that the framework's power state machine can enter. |
WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS The WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS enumeration type defines flags that the driver can specify when it calls WdfDeviceWdmDispatchIrpToIoQueue. |
WDF_EVENT_TYPE The WDF_EVENT_TYPE enumeration specifies. |
WDF_FILEOBJECT_CLASS The WDF_FILEOBJECT_CLASS enumeration defines values that identify whether a driver requires a framework file object to represent a file that an application or another driver is attempting to create or open. |
WDF_POWER_DEVICE_STATE The WDF_POWER_DEVICE_STATE enumeration identifies the device power states that a device might support. |
WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS The WDF_POWER_POLICY_IDLE_TIMEOUT_CONSTANTS enumeration is reserved for internal use. |
WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE The WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE enumeration identifies how the idle timeout for a device is determined. |
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES The WDF_POWER_POLICY_S0_IDLE_CAPABILITIES enumeration identifies the capabilities that a device can support when it enters a low-power state while it is idling. |
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL The WDF_POWER_POLICY_S0_IDLE_USER_CONTROL enumeration identifies whether a user can control a device's behavior when the device is idle and the system is in its working (S0) state. |
WDF_POWER_POLICY_SX_WAKE_USER_CONTROL The WDF_POWER_POLICY_SX_WAKE_USER_CONTROL enumeration identifies whether a user can control a device's ability to wake the system from a low system power state. |
WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE The WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE enumeration specifies when the framework calls a driver's EvtDeviceReleaseHardware callback function. |
WDF_REMOVE_LOCK_OPTIONS_FLAGS The WDF_REMOVE_LOCK_OPTIONS_FLAGS enumeration type defines flags that are used in a driver's WDF_REMOVE_LOCK_OPTIONS structure. |
WDF_SPECIAL_FILE_TYPE The WDF_SPECIAL_FILE_TYPE enumeration identifies special file types that a device can support. |
WDF_STATE_NOTIFICATION_TYPE The WDF_STATE_NOTIFICATION_TYPE enumeration identifies the type of Plug and Play, power, or power policy notification that a framework-based driver will receive. |