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


Функция TmEnableCallbacks (wdm.h)

Подпрограмма TmEnableCallbacks включает подпрограмму обратного вызова, которая получает уведомления о транзакциях.

Синтаксис

NTSTATUS TmEnableCallbacks(
  [in]           PKRESOURCEMANAGER   ResourceManager,
  [in]           PTM_RM_NOTIFICATION CallbackRoutine,
  [in, optional] PVOID               RMKey
);

Параметры

[in] ResourceManager

Указатель на объект Resource Manager. Чтобы получить этот указатель, компонент должен вызвать ObReferenceObjectByHandle и указать дескриптор объекта, предоставленный предыдущим вызовом ZwCreateResourceManager или ZwOpenResourceManager .

[in] CallbackRoutine

Указатель на подпрограмму ResourceManagerNotification .

[in, optional] RMKey

Контекстное значение, определяемое вызывающим объектом, которое однозначно идентифицирует диспетчер ресурсов. Подпрограмма ResourceManagerNotification вызывающего объекта получает это значение в качестве входных данных.

Возвращаемое значение

TmEnableCallbacks возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может вернуть следующее значение:

Код возврата Описание
STATUS_UNSUCCESSFUL
Указатель CallbackRoutine имеет значение NULL.
 

Подпрограмма может возвращать другие значения NTSTATUS.

Комментарии

Диспетчер ресурсов может вызвать TmEnableCallbacks , чтобы включить подпрограмму обратного вызова ResourceManagerNotification . Используйте TmEnableCallbacks для включения асинхронных уведомлений. Используйте ZwGetNotificationResourceManager для синхронного получения уведомлений.

Диспетчеры ресурсов могут зарегистрировать одну подпрограмму обратного вызова для каждого объекта Resource Manager.

Дополнительные сведения о процедуре TmEnableCallbacks см. в статье Создание Resource Manager.

Сведения о том, когда следует использовать подпрограммы KTM TmXxx вместо процедур ZwXxx , см. в разделе Использование подпрограмм TmXxxx.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

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

ObReferenceObjectByHandle

ResourceManagerNotification

ZwCreateResourceManager

ZwGetNotificationResourceManager

ZwOpenResourceManager