Função ZwRollforwardTransactionManager (wdm.h)
A rotina ZwRollforwardTransactionManager inicia operações de recuperação para todas as transações em andamento atribuídas a um gerenciador de transações especificado.
Sintaxe
NTSYSCALLAPI NTSTATUS ZwRollforwardTransactionManager(
[in] HANDLE TransactionManagerHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Parâmetros
[in] TransactionManagerHandle
Um identificador para um objeto do gerenciador de transações que foi obtido por uma chamada anterior para ZwCreateTransactionManager ou ZwOpenTransactionManager. O identificador deve ter TRANSACTIONMANAGER_RECOVER acesso ao objeto .
[in, optional] TmVirtualClock
Um ponteiro para um valor de relógio virtual. Esse parâmetro é opcional e pode ser NULL. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários a seguir.
Retornar valor
ZwRollforwardTransactionManager 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 |
---|---|
|
O identificador especificado não é um identificador para um objeto do gerenciador de transações. |
|
Um identificador de objeto é inválido. |
|
O chamador não tem acesso apropriado ao objeto do gerenciador de transações. |
|
O objeto do gerenciador de transações especificado não tem um arquivo de log, portanto, a recuperação não está disponível. |
|
O objeto do gerenciador de transações especificado está em um estado inesperado. |
A rotina pode retornar outros valores NTSTATUS.
Comentários
A rotina ZwRollforwardTransactionManager recupera todas as atividades registradas que o KTM encontra no arquivo de log do gerenciador de transações, até e incluindo o valor do relógio virtual fornecido pelo parâmetro TmVirtualClock .
Seu componente pode percorrer o arquivo de log incrementalmente chamando ZwRollforwardTransactionManager repetidamente e definindo o parâmetro VirtualClock como um valor mais alto antes de cada chamada.
Se o parâmetro TmVirtualClock for NULL, chamar ZwRollforwardTransactionManager será equivalente a chamar ZwRecoverTransactionManager.
Para obter mais informações sobre operações de recuperação, consulte Manipulando operações de recuperação.
NtRollforwardTransactionManager e ZwRollforwardTransactionManager são duas versões da mesma rotina do Windows Native System Services. A rotina NtRollforwardTransactionManager no kernel do Windows não está diretamente acessível para drivers no modo kernel. No entanto, os drivers no modo kernel podem acessar essa rotina indiretamente chamando a rotina ZwRollforwardTransactionManager .
Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services 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 Using Nt and Zw Versions of the Native System Services Routines.
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 |
Regras de conformidade da DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Confira também
Usando versões Nt e Zw das rotinas de serviços do sistema nativo