IoGetDriverProxyFeatures 函数获取当前系统和指定驱动程序的 DriverProxy 功能标志。
此函数允许驱动程序确定 DriverProxy 功能是否可用并为其特定的驱动程序实例启用。 DriverProxy 允许驱动程序注册可在运行时替换的终结点函数,而无需卸载驱动程序,从而启用热交换驱动程序功能。
Syntax
VOID IoGetDriverProxyFeatures(
PDRIVER_OBJECT DriverObject,
PDRIVER_PROXY_FEATURE_FLAGS Flags
);
参数
DriverObject
[in,可选]指向 DRIVER_OBJECT 的可选指针,用于检查 DriverProxy 支持。 如果此参数为 NULL,则该函数将检查是否为系统上的所有驱动程序启用 DriverProxy。
Flags
[out]指向接收 DriverProxy 功能标志 的DRIVER_PROXY_FEATURE_FLAGS 结构的指针。 该结构指示 DriverProxy 功能是否可用且已启用。
返回值
此函数不返回值。
注解
IoGetDriverProxyFeatures 函数根据以下几个因素确定 DriverProxy 可用性:
- 系统是否支持 DriverProxy 功能
- 安全内核是否正在运行(DriverProxy 需要)
- 是否通过注册表设置从 DriverProxy作中排除特定驱动程序
- DriverProxy 是否已全局禁用
驱动程序应在尝试使用其他 DriverProxy API(如 IoCreateDriverProxyExtension 或 IoRegisterDriverProxyEndpoints)之前调用此函数。
可以在任何 IRQL 级别调用该函数,并在驱动程序初始化期间安全使用。
要求
| Requirement | 价值 |
|---|---|
| 目标平台 | 普遍 |
| Header | wdm.h |
| Library | NtosKrnl.lib |
| IRQL | 任何级别 |