Freigeben über


NtCommitTransaction-Funktion (wdm.h)

Die ZwCommitTransaction-Routine initiiert einen Commitvorgang für eine angegebene Transaktion.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtCommitTransaction(
  [in] HANDLE  TransactionHandle,
  [in] BOOLEAN Wait
);

Parameter

[in] TransactionHandle

Ein Handle für ein Transaktionsobjekt. Ihre Komponente empfängt dieses Handle von ZwCreateTransaction oder ZwOpenTransaction. Das Handle muss über TRANSACTION_COMMIT Zugriff auf das Objekt verfügen.

[in] Wait

Ein boolescher Wert, den der Aufrufer für den synchronen Betrieb auf TRUE oder FALSE für asynchronen Vorgang festlegt. Wenn dieser Parameter TRUE ist, wird der Aufruf nach Abschluss des Commitvorgangs zurückgegeben.

Rückgabewert

ZwCommitTransaction gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Routine möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_OBJECT_TYPE_MISMATCH
Das für den TransactionHandle-Parameter angegebene Handle ist kein Handle für ein Transaktionsobjekt.
STATUS_INVALID_HANDLE
Das angegebene Transaktionsobjekthandle ist ungültig.
STATUS_ACCESS_DENIED

Der Aufrufer hat keinen geeigneten Zugriff auf das Transaktionsobjekt.

STATUS_TRANSACTION_SUPERIOR_EXISTS
Der Aufrufer kann die Transaktion nicht committen, da ein übergeordneter Transaktions-Manager vorhanden ist.
STATUS_TRANSACTION_ALREADY_ABORTED
Für die Transaktion kann kein Commit ausgeführt werden, da ein Rollback ausgeführt wurde.
STATUS_TRANSACTION_ALREADY_COMMITTED
Für die Transaktion wurde bereits ein Commit ausgeführt.
STATUS_TRANSACTION_REQUEST_NOT_VALID
Der Commitvorgang für diese Transaktion wurde bereits gestartet.
STATUS_PENDING
Commitbenachrichtigungen wurden für Ressourcen-Manager in die Warteschlange eingereiht, und der Aufrufer hat false für den Wait-Parameter angegeben.
 

Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.

Hinweise

Weitere Informationen dazu, wie Transaktionsclients die ZwCommitTransaction-Routine verwenden sollten, finden Sie unter Erstellen eines Transaktionsclients.

Weitere Informationen zu Commitvorgängen finden Sie unter Behandeln von Commitvorgängen.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und späteren Windows-Versionen.
Zielplattform Universell
Header wdm.h (include Wdm.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Weitere Informationen

TmCommitTransaction

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwCreateTransaction

ZwOpenTransaction