Поделиться через


Функция 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 :

Код возврата Описание
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
Вызывающий или другой драйвер уже зарегистрировал подпрограмму RegistryCallback для указанной высоты.
STATUS_INSUFFICIENT_RESOURCES
Сбой при попытке выделения памяти.

Комментарии

Подпрограмма CmRegisterCallbackEx доступна, начиная с Windows Vista.

Драйвер может вызвать CmRegisterCallback или CmRegisterCallbackEx для регистрации подпрограммы RegistryCallback , которая вызывается каждый раз, когда поток выполняет операцию с реестром.

Параметр Altitude определяет положение драйвера минифильтра относительно других минифильтров в стеке ввода-вывода при загрузке минифильтра. Распределение высот для минифильтров управляется корпорацией Майкрософт. Дополнительные сведения о высотах см. в разделе Load Order Groups and Altitudes for Minifilter Drivers.

Вызовите 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)

См. также раздел

CmRegisterCallback

CmUnRegisterCallback

DRIVER_OBJECT

RegistryCallback

UNICODE_STRING