Função NtPrepareEnlistment (WDM. h)

A rotina ZwPrepareEnlistment inicia a operação de preparação para uma transação de inscrição especificada.

Sintaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrepareEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Parâmetros

[in] EnlistmentHandle

Um identificador para um objeto de inscrição que foi obtido por uma chamada anterior para ZwCreateEnlistment ou ZwOpenEnlistment. O objeto deve representar uma inscrição superior e o identificador deve ter ENLISTMENT_SUPERIOR_RIGHTS acesso ao objeto.

[in, optional] TmVirtualClock

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

Valor retornado

ZwPrepareEnlistment retornará STATUS_SUCCESS se a operação for realizada com sucesso. Caso contrário, essa rotina pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_ENLISTMENT_NOT_SUPERIOR
O chamador não é um Gerenciador de transações superior para a inscrição.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
O chamador não se registrou para receber notificações de TRANSACTION_NOTIFY_PREPARE_COMPLETE.
STATUS_OBJECT_TYPE_MISMATCH
O identificador especificado não é um identificador para um objeto de inscrição.
STATUS_INVALID_HANDLE
O identificador de objeto é inválido.
STATUS_ACCESS_DENIED
O chamador não tem acesso apropriado ao objeto de inscrição.
STATUS_TRANSACTION_REQUEST_NOT_VALID
A transação da inscrição não está em um estado que permita que ela entre na fase de preparação.

A rotina pode retornar outros valores de NTSTATUS.

Comentários

Somente gerenciadores de transações superiores podem chamar ZwPrepareEnlistment.

A rotina ZwPrepareEnlistment faz com que o KTM envie TRANSACTION_NOTIFY_PREPARE notificações para todos os gerenciadores de recursos que se enlistaram na transação.

Os chamadores de ZwPrepareEnlistment devem se registrar para receber notificações de TRANSACTION_NOTIFY_PREPARE_COMPLETE.

Para obter mais informações sobre ZwPrepareEnlistment, consulte criando um Gerenciador de transações superior e manipulando operações de confirmação.

NtPrePrepareEnlistment e ZwPrePrepareEnlistment são duas versões do mesmo Windows rotina de serviços de sistema nativo.

para chamadas de drivers de modo kernel, as versões Ntxxx e ZwXxx de uma Windows rotina de serviços do sistema nativo podem se comportar de forma diferente no modo como lidam e interpretam os parâmetros de entrada. Para obter mais informações sobre a relação entre as versões do NTxxx e do zwxxx de uma rotina, consulte usando as versões NT e zw das rotinas de serviços do sistema nativo.

Requisitos

   
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 (incluir WDM. h, Ntifs. h)
Biblioteca NtosKrnl. lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Veja também

TmPrepareEnlistment

Usando as versões NT e zw das rotinas de serviços do sistema nativo

ZwCreateEnlistment

ZwOpenEnlistment