Функция GetNotificationResourceManagerAsync (ktmw32.h)
Запрашивает и получает асинхронные уведомления для диспетчера ресурсов (RM). Эта функция используется регистром RM для получения уведомлений при изменении состояния транзакции.
Синтаксис
BOOL GetNotificationResourceManagerAsync(
[in] HANDLE ResourceManagerHandle,
[out] PTRANSACTION_NOTIFICATION TransactionNotification,
[in] ULONG TransactionNotificationLength,
[out] PULONG ReturnLength,
[in] LPOVERLAPPED lpOverlapped
);
Параметры
[in] ResourceManagerHandle
Дескриптор для диспетчера ресурсов.
[out] TransactionNotification
Указатель на структуру TRANSACTION_NOTIFICATION , получающую первое доступное уведомление.
[in] TransactionNotificationLength
Размер буфера TransactionNotification в байтах.
[out] ReturnLength
Указатель на переменную, которая получает фактический размер уведомления, полученного параметром TransactionNotification .
[in] lpOverlapped
Указатель на структуру OVERLAPPED , необходимую для асинхронной операции.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция завершается сбоем, возвращаемое значение равно нулю (0). Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .
В следующем списке указаны возможные коды ошибок:
Комментарии
Все диспетчеры ресурсов должны зарегистрироваться для получения уведомлений TRANSACTION_NOTIFY_PREPREPARE, TRANSACTION_NOTIFY_PREPARE и TRANSACTION_NOTIFY_COMMIT , даже если впоследствии они вызывают ReadOnlyEnlistment , чтобы пометить зачисление как доступное только для чтения. Диспетчеры ресурсов могут поддерживать TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT, но они также должны поддерживать многоэтапную предварительную подготовку, подготовку и фиксацию уведомлений. Список всех уведомлений, которые могут получать диспетчеры ресурсов, см. в разделе TRANSACTION_NOTIFICATION.
Диспетчеры ресурсов (RM) могут захотеть вызывать эту функцию несколько раз, чтобы предоставить несколько буферов для KTM, используемых при доставке уведомлений. Количество вызовов этой функции зависит от нагрузки, которую несет RM.
Эта функция должна вызываться после вызова функции SetResourceManagerCompletionPort .
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | ktmw32.h |
Библиотека | KtmW32.lib |
DLL | KtmW32.dll |
См. также раздел
Функции диспетчера транзакций ядра