Expand Minimize

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

WdfControl.h (include Wdf.h)

IRQL

PASSIVE_LEVEL

See also

WdfControlDeviceInitAllocate
WdfControlDeviceInitSetShutdownNotification

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft