EvtDeviceShutdownNotification function
[Applies to KMDF only]
A driver's EvtDeviceShutdownNotification event callback function notifies the driver that the system is about to lose its power.
Syntax
EVT_WDF_DEVICE_SHUTDOWN_NOTIFICATION EvtDeviceShutdownNotification; VOID EvtDeviceShutdownNotification( _In_ WDFDEVICE Device ) { ... }
Parameters
- Device [in]
-
A handle to a framework device object that the driver initialized by calling WdfControlDeviceInitAllocate.
Return value
None
Remarks
To register an EvtDeviceShutdownNotification event callback function, a driver must call WdfControlDeviceInitSetShutdownNotification. Only drivers that create control device objects can register this callback function.
The framework calls a driver's EvtDeviceShutdownNotification event callback function if the user is about to turn off the computer, or if the computer suddenly loses its power and an emergency power supply, such as an uninterruptible power supply (UPS), is available to safely turn off the computer.
For more information about control device objects and the EvtDeviceShutdownNotification callback function see Using Control Device Objects.
Examples
To define an EvtDeviceShutdownNotification callback function, you must first provide a function declaration that identifies the type of callback function you’re defining. Windows provides a set of callback function types for drivers. Declaring a function using the callback function types helps Code Analysis for Drivers, Static Driver Verifier (SDV), and other verification tools find errors, and it’s a requirement for writing drivers for the Windows operating system.
For example, to define an EvtDeviceShutdownNotification callback function that is named MyDeviceShutdownNotification, use the EVT_WDF_DEVICE_SHUTDOWN_NOTIFICATION type as shown in this code example:
EVT_WDF_DEVICE_SHUTDOWN_NOTIFICATION MyDeviceShutdownNotification;
Then, implement your callback function as follows:
_Use_decl_annotations_ VOID MyDeviceShutdownNotification ( WDFDEVICE Device ) {...}
The EVT_WDF_DEVICE_SHUTDOWN_NOTIFICATION function type is defined in the WdfControl.h header file. To more accurately identify errors when you run the code analysis tools, be sure to add the _Use_decl_annotations_ annotation to your function definition. The _Use_decl_annotations_ annotation ensures that the annotations that are applied to the EVT_WDF_DEVICE_SHUTDOWN_NOTIFICATION function type in the header file are used. For more information about the requirements for function declarations, see Declaring Functions by Using Function Role Types for KMDF Drivers. For information about _Use_decl_annotations_, see Annotating Function Behavior.
Requirements
Minimum KMDF version | 1.0 |
---|---|
Header |
|
IRQL | PASSIVE_LEVEL |
See also