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 。 驱动程序调用 WdfDeviceGetDevicePowerStateWdfDeviceGetDevicePowerPolicyState 后,它可以调用 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 任何级别

另请参阅

WdfDeviceInitSetPowerNotPageable

WdfDeviceInitSetPowerPageable