[适用于 KMDF 和 UMDF]
WdfDevStateIsNP 方法返回一个布尔值,该值指示指定的电源状态还是电源策略状态是 不可分页 状态。
语法
BOOLEAN WdfDevStateIsNP(
[in] ULONG State
);
参数
[in] State
WDF_DEVICE_POWER_STATE类型化枚举器或 WDF_DEVICE_POWER_POLICY_STATE类型化枚举器。
返回值
如果调用驱动程序当前不可分页,则 WdfDevStateIsNP 方法返回 TRUE。 否则,该方法返回 FALSE。
注解
若要获取框架电源状态机的当前状态,驱动程序可以从 PnP 或电源回调函数中调用 WdfDeviceGetDevicePowerState。 若要获取框架电源策略状态机的当前状态,驱动程序可以从电源策略回调函数中调用 WdfDeviceGetDevicePowerPolicyState。 驱动程序调用 WdfDeviceGetDevicePowerState 或 WdfDeviceGetDevicePowerPolicyState后,它可以调用 WdfDevStateIsNP 来确定返回的状态是否表示可分页或不可分页状态。 如果框架的状态机处于不可分页状态,驱动程序不可分页,并且不得执行可能导致作系统访问分页文件的任何作。 此类作包括访问文件、注册表或分页池。
例子
如果框架的电源状态机当前处于不可分页状态,则以下代码示例将 不可分页 值设置为 true。
BOOLEAN nonpageable;
nonpageable = WdfDevStateIsNP(WdfDeviceGetDevicePowerState(device));
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 普遍 |
| 最低 KMDF 版本 | 1.0 |
| 最低 UMDF 版本 | 2.0 |
| 标头 | wdfdevice.h (包括 Wdf.h) |
| 图书馆 | Wdf01000.sys(KMDF):WUDFx02000.dll (UMDF) |
| IRQL | 任何级别 |