EVT_WDF_DEVICE_EJECT callback function (wdfpdo.h)
[Applies to KMDF only]
A driver's EvtDeviceEject event callback function handles operations that are necessary to eject a device from its docking station.
Syntax
EVT_WDF_DEVICE_EJECT EvtWdfDeviceEject;
NTSTATUS EvtWdfDeviceEject(
[in] WDFDEVICE Device
)
{...}
Parameters
[in] Device
A handle to a framework device object.
Return value
If the operation succeeds, the driver must return STATUS_SUCCESS. Otherwise it must return an NTSTATUS value that NT_SUCCESS evaluates as FALSE. Do not return STATUS_NOT_SUPPORTED.
For more information about return values, see Reporting Device Failures.
Remarks
Framework-based bus drivers can provide an EvtDeviceEject callback function. A bus driver must provide an EvtDeviceEject callback function if the driver must perform operations that physically eject one of its enumerated child devices from the device's docking station. To register this callback function, the bus driver must call WdfPdoInitSetEventCallbacks.
Before calling the EvtDeviceEject callback function, the framework calls the driver's EvtDeviceD0Exit and EvtDeviceReleaseHardware callback functions.
If a driver's EvtDeviceEject callback function returns STATUS_SUCCESS, the framework updates the driver's child list to indicate that the ejected device is no longer available. Therefore the driver does not have to call WdfPdoMarkMissing or WdfChildListUpdateChildDescriptionAsMissing.
For more information about device ejection, see Supporting Ejectable Devices.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Header | wdfpdo.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |