Função TmRecoverEnlistment (wdm.h)

A rotina TmRecoverEnlistment inicia uma operação de recuperação para a transação associada a uma inscrição especificada.

Sintaxe

NTSTATUS TmRecoverEnlistment(
  [in] PKENLISTMENT Enlistment,
  [in] PVOID        EnlistmentKey
);

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

Um ponteiro para o valor da chave de inscrição que o gerenciador de recursos especificou anteriormente como o parâmetro EnlistmentKey para ZwCreateEnlistment ou TmCreateEnlistment. Esse parâmetro é opcional e pode ser NULL se o gerenciador de recursos não forneceu uma chave de inscrição quando chamou ZwCreateEnlistment ou TmCreateEnlistment.

Retornar valor

TmRecoverEnlistment retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_OBJECT_TYPE_MISMATCH
O identificador especificado não é um identificador para um objeto de inscrição.
STATUS_INVALID_HANDLE
Um identificador de objeto é inválido.
STATUS_TRANSACTION_REQUEST_NOT_VALID
A transação ou sua inscrição não está no estado correto.
STATUS_PENDING
A KTM adicionou uma notificação de confirmação, reversão ou dúvida à fila de notificação do gerenciador de recursos e o gerenciador de recursos não está usando uma rotina de retorno de chamada ResourceManagerNotification .
 

A rotina pode retornar outros valores NTSTATUS.

Comentários

A rotina TmRecoverEnlistment é uma versão baseada em ponteiro da rotina ZwRecoverEnlistment .

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 operações de recuperação, consulte Manipulando operações de recuperação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
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

TRANSACTION_NOTIFICATION

TmCreateEnlistment

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment

ZwRecoverEnlistment