CmRegisterCallbackEx 函数 (wdm.h)
CmRegisterCallbackEx 例程注册 RegistryCallback 例程。
语法
NTSTATUS CmRegisterCallbackEx(
[in] PEX_CALLBACK_FUNCTION Function,
[in] PCUNICODE_STRING Altitude,
[in] PVOID Driver,
[in, optional] PVOID Context,
[out] PLARGE_INTEGER Cookie,
PVOID Reserved
);
参数
[in] Function
指向要注册的 RegistryCallback 例程的指针。
[in] Altitude
指向 UNICODE_STRING 结构的指针。 此结构必须包含一个字符串,表示调用 微型筛选器驱动程序的 高度。 有关详细信息,请参阅“备注”。
[in] Driver
指向表示驱动程序的 DRIVER_OBJECT 结构的指针。
[in, optional] Context
配置管理器将作为 CallbackContext 参数传递给 RegistryCallback 例程的驱动程序定义值。
[out] Cookie
指向LARGE_INTEGER变量的指针,该变量接收标识回调例程的值。 注销回调例程时,请将此值作为 Cookie 参数传递给 CmUnRegisterCallback。
Reserved
此参数保留供将来使用。
返回值
CmRegisterCallbackEx 如果作成功,则返回STATUS_SUCCESS。 否则,此例程可能会返回以下 NTSTATUS 值之一:
返回代码 | 描述 |
---|---|
|
调用驱动程序或其他驱动程序已经为指定高度注册了 RegistryCallback 例程。 |
|
尝试分配内存失败。 |
言论
CmRegisterCallbackEx 例程从 Windows Vista 开始可用。
驱动程序可以调用 CmRegisterCallback 或 CmRegisterCallbackEx 来注册 RegistryCallback 例程,每次线程在注册表上执行作时都会调用该例程。
海拔 参数定义小筛选器驱动程序相对于 I/O 堆栈中其他微筛选器的位置(加载微型筛选器时)。 将高度分配给微筛选器由Microsoft管理。 有关海拔的详细信息,请参阅 微型筛选驱动程序的加载顺序组和海拔高度。
调用 CmUnRegisterCallback 以取消注册 CmRegisterCallbackEx 注册的回调例程。
有关 CmRegisterCallbackEx 和筛选注册表作的详细信息,请参阅 筛选注册表调用。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDIs(storport),IrqlExApcLte2(wdm) |