Deleting an Interrupt Object
Warning
UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2.
The archived UMDF 1 samples can be found in the Windows 11, version 22H2 - May 2022 Driver Samples Update.
For more info, see Getting Started with UMDF.
If the driver creates an interrupt object by calling IWDFDevice3::CreateInterrupt, the driver does not need to delete the interrupt object. The framework deletes the interrupt object automatically because the interrupt object is a child object of the framework device object.
The framework uses the following rules:
If the driver calls CreateInterrupt from its OnPrepareHardware callback method, the framework deletes the interrupt object after the driver returns from its OnReleaseHardware callback.
If the driver calls CreateInterrupt from its OnDeviceAdd callback method, the framework deletes the interrupt object when the device is removed.
Optionally, the driver can call IWDFObject::DeleteWdfObject to delete an interrupt object at any time. Because a driver cannot create a new interrupt object outside of OnDeviceAdd or OnPrepareHardware, manual deletion of the object should not be used unless the driver must remove the object before the framework deletes it.