WdfDevStateIsNP 函数 (wdfdevice.h)
[适用于 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) |
Library | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | 任何级别 |