FltRegisterFilter 注册微型筛选器驱动程序。
语法
NTSTATUS FLTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
参数
[in] Driver
指向微型筛选器驱动程序的驱动程序对象的指针。 这应该是作为输入传递到微型筛选器驱动程序的 DriverEntry 例程的驱动程序对象指针。
[in] Registration
指向调用方分配的微型筛选器驱动程序注册结构的指针(FLT_REGISTRATION)。
[out] RetFilter
指向调用方分配的变量的指针,该变量接收调用方不透明的筛选器指针。
返回值
FltRegisterFilter 返回STATUS_SUCCESS或适当的 NTSTATUS 值,例如以下值之一:
返回代码 | 描述 |
---|---|
|
FltRegisterFilter 遇到池分配失败。 这是一个错误代码。 |
|
以下项之一:
|
|
筛选器管理器在筛选器尝试注册时未初始化。 确保筛选器管理器作为驱动程序加载。 这是一个错误代码。 |
|
在注册表中找不到筛选器服务密钥。
-或- 未注册筛选器实例。 |
言论
每个微型筛选器驱动程序都必须从其 DriverEntry 例程调用 FltRegisterFilter,以将自身添加到已注册的微型筛选器驱动程序的全局列表中,并向筛选器管理器提供回调函数列表以及有关微型筛选器驱动程序的其他信息。
FltRegisterFilter 返回 *RetFilter中微型筛选器驱动程序的不透明筛选器指针。 此指针值唯一标识微型筛选器驱动程序,并且只要加载微型筛选器驱动程序,此指针值就保持不变。 微型筛选器驱动程序应保存此指针,因为它是 FltStartFiltering 和 FltUnregisterFilter的必需参数。
调用 FltRegisterFilter后,微型筛选器驱动程序通常会调用 FltStartFiltering 开始筛选 I/O作。
微型筛选器驱动程序只能调用 FltRegisterFilter 来注册自身,而不是另一个微型筛选器驱动程序。
若要注销自身,微型筛选器驱动程序调用 FltUnregisterFilter..
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |