wdfdevice.h header
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. |