Funzione NtCommitEnlistment (wdm.h)

La routine ZwCommitEnlistment avvia l'operazione di commit per la transazione di un'integrazione specificata.

Sintassi

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

Parametri

[in] EnlistmentHandle

Handle per un oggetto di integrazione ottenuto da una chiamata precedente a ZwCreateEnlistment o ZwOpenEnlistment. L'oggetto deve rappresentare un'integrazione superiore e l'handle deve avere ENLISTMENT_SUPERIOR_RIGHTS l'accesso all'oggetto.

[in, optional] TmVirtualClock

Puntatore a un valore di clock virtuale. Questo parametro è facoltativo e può essere NULL.

Valore restituito

ZwCommitEnlistment restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_OBJECT_TYPE_MISMATCH
L'handle specificato non è un handle per un oggetto di integrazione.
STATUS_INVALID_HANDLE
L'handle dell'oggetto non è valido.
STATUS_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato all'oggetto di integrazione.
STATUS_ENLISTMENT_NOT_SUPERIOR
Il chiamante non è un gestore transazioni superiore per l'integrazione.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
Il chiamante non è stato registrato per ricevere notifiche di TRANSACTION_NOTIFY_COMMIT_COMPLETE.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transazione dell'integrazione non è in uno stato che consente di eseguirne il commit.
STATUS_TRANSACTION_NOT_ACTIVE
L'operazione di commit per questa transazione è già stata avviata.
STATUS_TRANSACTION_ALREADY_ABORTED
Impossibile eseguire il commit della transazione perché è stato eseguito il rollback.
 

La routine potrebbe restituire altri valori NTSTATUS.

Commenti

Solo i gestori di transazioni superiori possono chiamare ZwCommitEnlistment.

I chiamanti di ZwCommitEnlistment devono registrarsi per ricevere notifiche di TRANSACTION_NOTIFY_COMMIT_COMPLETE.

La routine ZwCommitEnlistment fa sì che KTM invii notifiche TRANSACTION_NOTIFY_COMMIT a tutti i gestori risorse che sono stati inseriti nella transazione.

Per altre informazioni su ZwCommitEnlistment, vedere Creating a Superior Transaction Manager and Handling Commit Operations.For more information about ZwCommitEnlistment, see Creating a Superior Transaction Manager and Handling Commit Operations.

Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive del sistema operativo.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Vedi anche

TmCommitEnlistment

Uso delle versioni Nt e Zw delle routine native di Servizi di sistema

ZwCreateEnlistment

ZwOpenEnlistment