Compartilhar via


Função GetNotificationResourceManagerAsync (ktmw32.h)

Solicita e recebe uma notificação assíncrona para um RM (gerenciador de recursos). Essa função é usada pelo registro RM para receber notificações quando uma transação altera o estado.

Sintaxe

BOOL GetNotificationResourceManagerAsync(
  [in]  HANDLE                    ResourceManagerHandle,
  [out] PTRANSACTION_NOTIFICATION TransactionNotification,
  [in]  ULONG                     TransactionNotificationLength,
  [out] PULONG                    ReturnLength,
  [in]  LPOVERLAPPED              lpOverlapped
);

Parâmetros

[in] ResourceManagerHandle

Um identificador para o gerenciador de recursos.

[out] TransactionNotification

Um ponteiro para uma estrutura TRANSACTION_NOTIFICATION que recebe a primeira notificação disponível.

[in] TransactionNotificationLength

O tamanho do buffer TransactionNotification , em bytes.

[out] ReturnLength

Um ponteiro para uma variável que recebe o tamanho real da notificação recebida pelo parâmetro TransactionNotification .

[in] lpOverlapped

Um ponteiro para uma estrutura OVERLAPPED necessária para a operação assíncrona.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será 0 (zero). Para obter informações de erro estendidas, chame a função GetLastError.

A lista a seguir identifica os possíveis códigos de erro:

Comentários

Todos os gerenciadores de recursos devem se registrar para receber notificações de TRANSACTION_NOTIFY_PREPREPARE, TRANSACTION_NOTIFY_PREPARE e TRANSACTION_NOTIFY_COMMIT , mesmo que posteriormente chamem ReadOnlyEnlistment para marcar um alistamento como somente leitura. Os gerenciadores de recursos podem dar suporte a TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT, mas também devem dar suporte às notificações de pré-preparação, preparação e confirmação de várias fases. Para obter a lista de todas as notificações que os gerenciadores de recursos podem receber, consulte TRANSACTION_NOTIFICATION.

Os gerenciadores de recursos (RM) podem querer chamar essa função mais de uma vez para fornecer vários buffers para o KTM usar ao fornecer notificações. O número de chamadas para essa função depende da carga que o RM está carregando.

Essa função deve ser chamada depois que a função SetResourceManagerCompletionPort for chamada.

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho ktmw32.h
Biblioteca KtmW32.lib
DLL KtmW32.dll

Confira também

CreateEnlistment

Funções do Gerenciador de Transações do Kernel

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT