Функция 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, если операция выполнена успешно. В противном случае эта подпрограмма может вернуть следующее значение:
Код возврата | Описание |
---|---|
|
Указатель 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 |