Функция 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->Altitude . Дополнительные сведения об этой высоте см. в описании элемента Высота в OB_CALLBACK_REGISTRATION. |
|
Один или несколько параметров, указанных в регистрации, были недопустимыми. ObRegisterCallbacks может возвращать эту ошибку, например, если указано недопустимое значение для CallBackRegistration->Version или если предпринята попытка регистрации для типов объектов, которые не поддерживают подпрограммы обратного вызова. |
|
Подпрограммы обратного вызова не находятся в двоичном образе подписанного ядра. |
|
Сбой при попытке выделения памяти. |
Комментарии
Перед выгрузкой драйвер должен отменить регистрацию всех процедур обратного вызова. Вы можете отменить регистрацию процедуры обратного вызова, вызвав подпрограмму ObUnRegisterCallbacks .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |