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 |
---|---|
|
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 |