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


Функция GetNotificationResourceManager (ktmw32.h)

Запрашивает и получает уведомление для диспетчера ресурсов (RM). Эта функция используется регистром RM для получения уведомлений при изменении состояния транзакции.

Синтаксис

BOOL GetNotificationResourceManager(
  [in]            HANDLE                    ResourceManagerHandle,
  [out]           PTRANSACTION_NOTIFICATION TransactionNotification,
  [in]            ULONG                     NotificationLength,
  [in, optional]  DWORD                     dwMilliseconds,
  [out, optional] PULONG                    ReturnLength
);

Параметры

[in] ResourceManagerHandle

Дескриптор для диспетчера ресурсов.

[out] TransactionNotification

Указатель на структуру TRANSACTION_NOTIFICATION , которая получает первое доступное уведомление.

[in] NotificationLength

Размер буфера TransactionNotification в байтах.

[in, optional] dwMilliseconds

Время (в миллисекундах), в течение которого вызывающее приложение блокируется во время ожидания получения уведомления. Если по истечении времени ожидания уведомления недоступны, возвращается ERROR_TIMEOUT .

[out, optional] ReturnLength

Указатель на переменную, которая получает фактический размер уведомления, полученного параметром TransactionNotification .

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция завершается ошибкой, возвращаемое значение равно нулю (0). Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .

В следующем списке указаны возможные коды ошибок:

Комментарии

Все диспетчеры ресурсов должны зарегистрироваться для получения уведомлений TRANSACTION_NOTIFY_PREPREPARE, TRANSACTION_NOTIFY_PREPARE и TRANSACTION_NOTIFY_COMMIT , даже если впоследствии они вызывают ReadOnlyEnlistment , чтобы пометить зачисление как доступное только для чтения. Диспетчеры ресурсов могут поддерживать TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT, но они также должны поддерживать многофазные уведомления о предварительной подготовке, подготовке и фиксации. Список всех уведомлений, которые могут получать диспетчеры ресурсов, см . в разделе TRANSACTION_NOTIFICATION.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header ktmw32.h
Библиотека KtmW32.lib
DLL KtmW32.dll

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

CreateEnlistment

GetNotificationResourceManagerAsync

Функции диспетчера транзакций ядра

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT