Função TmRequestOutcomeEnlistment (wdm.h)

A rotina TmRequestOutcomeEnlistment pede à KTM que tente fornecer um resultado imediato (confirmação ou reversão) para a transação associada a uma inscrição especificada.

Sintaxe

NTSTATUS TmRequestOutcomeEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

Parâmetros

[in] Enlistment

Um ponteiro para um objeto de alistamento. Seu componente pode receber esse ponteiro como entrada para uma rotina de retorno de chamada ResourceManagerNotification . Como alternativa, seu componente pode chamar ObReferenceObjectByHandle e fornecer o identificador de objeto que uma chamada anterior para ZwCreateEnlistment, TmCreateEnlistment ou ZwOpenEnlistment forneceu.

[in] TmVirtualClock

Um ponteiro para um valor de relógio virtual. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

TmRequestOutcomeEnlistment retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina pode retornar o seguinte valor:

Código de retorno Descrição
STATUS_TRANSACTION_REQUEST_NOT_VALID
O alistamento especificado é um alistamento superior.
 

A rotina pode retornar outros valores NTSTATUS.

Comentários

A rotina TmRequestOutcomeEnlistment pede à KTM que tente fornecer um resultado imediato (resultado) para a transação. Um gerenciador de recursos pode chamar TmRequestOutcomeEnlistment depois de chamar TmPrepareComplete ou ZwPrepareComplete, se descobrir posteriormente que não pode esperar por um resultado porque, por exemplo, ocorreu uma remoção surpresa do disco. A KTM poderá forçar uma reversão se todos os gerenciadores de recursos não tiverem concluído suas operações de preparação.

Para obter informações sobre quando usar rotinas TmXxx da KTM em vez de rotinas ZwXxx , consulte Usando rotinas TmXxx.

Para obter mais informações sobre TmCreateEnlistment, consulte Criando um Resource Manager.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do sistema operacional.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmPrepareComplete

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareComplete