WdfDeviceIndicateWakeStatus 函数 (wdfdevice.h)
[仅适用于 KMDF]
WdfDeviceIndicateWakeStatus 方法通知框架,调用总线驱动程序已停止等待指定的设备在总线上触发唤醒信号。
语法
NTSTATUS WdfDeviceIndicateWakeStatus(
[in] WDFDEVICE Device,
[in] NTSTATUS WaitWakeStatus
);
参数
[in] Device
框架设备对象的句柄。
[in] WaitWakeStatus
NTSTATUS 状态值。 如果设备触发了唤醒信号,则调用方必须将此值设置为 STATUS_SUCCESS 或 NT_SUCCESS (WaitWakeStatus) 等于 TRUE 的其他状态值。 如果设备未触发唤醒信号或检测到错误,则调用方必须提供NT_SUCCESS (WaitWakeStatus) 等于 FALSE 的状态值。 有关更多信息,请参见下面的“备注”部分。
返回值
如果操作成功, WdfDeviceIndicateWakeStatus 将返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
WaitWakeStatus 是STATUS_PENDING还是STATUS_CANCELLED。 |
|
驱动程序堆栈未设置为等待设备触发唤醒信号。 |
|
调用驱动程序不负责等待设备触发唤醒信号。 |
该方法可能会返回其他 NTSTATUS 值。
如果驱动程序提供无效的对象句柄,则会发生 bug 检查。
注解
如果 NT_SUCCESS (WaitWakeStatus) 等于 TRUE,则框架会将设备和系统还原到其工作状态。 如果NT_SUCCESS (WaitWakeStatus) 等于 FALSE,则设备和系统将保持其当前状态。
有关调用 WdfDeviceIndicateWakeStatus 方法的详细信息,请参阅 支持系统唤醒。
示例
下面的代码示例通知框架指定的设备已触发唤醒信号。
NTSTATUS status;
status = WdfDeviceIndicateWakeStatus(
hChild,
STATUS_SUCCESS
);
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库 Versioning.) |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |