Condividi tramite


Funzione NtCommitEnlistment (wdm.h)

La routine ZwCommitEnlistment avvia l'operazione di commit per la transazione dell'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 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 .

Osservazioni

Solo i gestori di transazioni superiori possono chiamare ZwCommitEnlistment.

I chiamanti di ZwCommitEnlistment devono registrarsi per ricevere notifiche 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.

Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services 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.

Fabbisogno

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

Vedere anche

TmCommitEnlistment

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi

ZwCreateEnlistment

ZwOpenEnlistment