Função NtOpenTransaction (wdm.h)
A rotina de ZwOpenTransaction obtém um identificador para um objeto de transação existente.
Sintaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransaction(
[out] PHANDLE TransactionHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in] LPGUID Uow,
[in, optional] HANDLE TmHandle
);
Parâmetros
[out] TransactionHandle
Um ponteiro para uma variável alocada por chamador que recebe um identificador para o objeto de transação se ZwOpenTransaction retorna STATUS_SUCCESS.
[in] DesiredAccess
Um valor ACCESS_MASK que especifica o acesso solicitado do chamador ao objeto de transação. Para obter informações sobre como especificar esse parâmetro, consulte o parâmetro DesiredAccess de ZwCreateTransaction.
[in, optional] ObjectAttributes
Um ponteiro para uma estrutura OBJECT_ATTRIBUTES que especifica os atributos do objeto. Use a rotina InitializeObjectAttributes para inicializar essa estrutura, mas especifique apenas os parâmetros InitializedAttributes e Attributes da rotina. Se o chamador não estiver em execução em um contexto de thread do sistema, ele deverá definir o sinalizador OBJ_KERNEL_HANDLE no parâmetro atributos. O parâmetro ObjectAttributes é opcional e pode ser NULL.
[in] Uow
Um ponteiro para um GUID que é o identificador de unidade de trabalho (UOW) de um objeto de transação. Esse GUID identifica o objeto de transação a ser aberto.
[in, optional] TmHandle
Um identificador para um objeto do gerenciador de transações . Se esse parâmetro não for NULL, o KTM pesquisa apenas objetos de transação que pertencem ao objeto do gerenciador de transações especificado. Se esse parâmetro for NULL, a KTM pesquisará todos os objetos de transação.
Valor de retorno
ZwCreateTransaction retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
O parâmetro DesiredAccess ou Uow era zero. |
|
O identificador especificado não é um identificador para um objeto de transação. |
|
Um identificador de objeto é inválido. |
|
A KTM não conseguiu localizar o objeto de transação. |
|
O valor do parâmetro DesiredAccess é inválido. |
A rotina pode retornar outros valores NTSTATUS .
Observações
Normalmente, um gerenciador de recursos chama ZwOpenTransaction depois de receber uma UOW de transação de um cliente transacional que anteriormente havia chamado ZwCreateTransaction.
Para obter mais informações sobre ZwOpenTransaction, consulte Criando umdo Resource Manager.
NtOpenTransaction e ZwOpenTransaction são duas versões da mesma rotina do Windows Native System Services.
Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores do sistema operacional. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte também
usando versões Nt e Zw das rotinas de serviços do sistema nativo