ObRegisterCallbacks 函数 (wdm.h)
ObRegisterCallbacks 例程注册线程、进程和桌面句柄操作的回调例程列表。
语法
NTSTATUS ObRegisterCallbacks(
[in] POB_CALLBACK_REGISTRATION CallbackRegistration,
[out] PVOID *RegistrationHandle
);
参数
[in] CallbackRegistration
指向 OB_CALLBACK_REGISTRATION 结构的指针,该结构指定回调例程和其他注册信息的列表。
[out] RegistrationHandle
指向变量的指针,该变量接收标识注册的回调例程集的值。 调用方将此值传递给 ObUnRegisterCallbacks 例程,以取消注册回调集。
返回值
ObRegisterCallbacks 返回 NTSTATUS 值。 此例程可能会返回以下值之一:
返回代码 | 说明 |
---|---|
|
向系统注册指定的回调例程。 |
|
调用驱动程序或其他驱动程序已经为 CallBackRegistration海拔指定的海拔高度注册了回调例程->。 有关此高度的详细信息,请参阅 OB_CALLBACK_REGISTRATION 中海拔成员的说明。 |
|
注册中指定的一个或多个参数无效。 ObRegisterCallbacks 可能会返回此错误,例如,如果为 CallBackRegistration->版本 指定了无效值,或者为不支持回调例程的对象类型尝试注册。 |
|
回调例程不驻留在已签名的内核二进制映像中。 |
|
尝试分配内存失败。 |
注解
驱动程序必须在卸载之前注销所有回调例程。 可以通过调用 ObUnRegisterCallbacks 例程来取消注册回调例程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从具有 Service Pack 1 (SP1) 和 Windows Server 2008 的 Windows Vista 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |