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。 其他返回值包括:

返回代码 说明
STATUS_INVALID_PARAMETER
WaitWakeStatus 是STATUS_PENDING还是STATUS_CANCELLED。
STATUS_INVALID_DEVICE_REQUEST
驱动程序堆栈未设置为等待设备触发唤醒信号。
STATUS_INVALID_DEVICE_STATE
调用驱动程序不负责等待设备触发唤醒信号。
 

该方法可能会返回其他 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)