WdfDeviceStopIdleWithTag 宏 (wdfdevice.h)
[适用于 KMDF 和 UMDF]
WdfDeviceStopIdleWithTag 宏递增指定框架设备对象的电源引用计数,并将驱动程序的当前文件名和行号分配给引用。 宏还会向引用分配标记值。
语法
NTSTATUS WdfDeviceStopIdleWithTag(
_In_ WDFDEVICE Device,
_In_ BOOLEAN WaitForD0,
_In_ PVOID Tag
);
参数
[in] Device
框架设备对象的句柄。
[in] WaitForD0
一个布尔值,指示 何时返回 WdfDeviceStopIdleWithTag 。 如果 为 TRUE,则仅在指定设备进入 D0 设备电源状态后返回。 如果 为 FALSE,该方法将立即返回。
[in] Tag
驱动程序定义的值,框架将其存储为电源引用的标识标记。
返回值
无
备注
如果操作成功, WdfDeviceStopIdleWithTag 将返回STATUS_SUCCESS。
其他返回值包括:
返回代码 | 说明 |
---|---|
STATUS_PENDING | 设备正在异步启动。 |
STATUS_INVALID_DEVICE_STATE | 驱动程序不是设备的电源策略所有者。 |
STATUS_POWER_STATE_INVALID | 发生设备故障,设备无法进入其 D0 电源状态。 |
该方法可能会返回其他 NTSTATUS 值。
如果驱动程序提供无效的对象句柄,则会发生 bug 检查。
如果驱动程序调用 WdfDeviceStopIdleWithTag 来递增引用计数,则驱动程序必须调用 WdfDeviceResumeIdleWithTag 来递减计数。
调用 WdfDeviceStopIdleWithTag 而不是 WdfDeviceStopIdle 可提供可在 Microsoft 调试器中查看 (标记值、行号和文件名) 的其他信息。 WdfDeviceStopIdleWithTag 使用驱动程序的当前行号和文件名。
可以使用 !wdftagtracker 调试器扩展查看标记、行号和文件名值。 调试器扩展将标记值显示为指针和一系列字符。
使用上带有详细标志的 !wdfkd.wdfdevice ,并在输出中找到 指向 !wdftagtracker 的链接:
kd> !wdfdevice <handle> f
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.15 |
最低 UMDF 版本 | 2.15 |
标头 | wdfdevice.h (包括 Wdf.h) |
Library | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | 请参见“备注”部分。 |
DDI 符合性规则 | DriverCreate、KmdfIrql、KmdfIrql2 |