NtOpenTransaction-Funktion (wdm.h)
Die ZwOpenTransaction Routine ruft ein Handle für ein vorhandenes Transaktionsobjektab.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransaction(
[out] PHANDLE TransactionHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in] LPGUID Uow,
[in, optional] HANDLE TmHandle
);
Parameter
[out] TransactionHandle
Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die ein Handle für das Transaktionsobjekt empfängt, wenn ZwOpenTransaction STATUS_SUCCESS zurückgibt.
[in] DesiredAccess
Ein ACCESS_MASK Wert, der den angeforderten Zugriff des Aufrufers auf das Transaktionsobjekt angibt. Informationen zum Angeben dieses Parameters finden Sie im parameter DesiredAccess parameter von ZwCreateTransaction.
[in, optional] ObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die die Attribute des Objekts angibt. Verwenden Sie die InitializeObjectAttributes Routine, um diese Struktur zu initialisieren, aber geben Sie nur die InitializedAttributes und Attributes Parameter an. Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss das OBJ_KERNEL_HANDLE Flag im parameter Attributes festgelegt werden. Der parameter ObjectAttributes ist optional und kann NULL-werden.
[in] Uow
Ein Zeiger auf eine GUID, die die Arbeitseinheit (UOW) eines Transaktionsobjekts. Diese GUID identifiziert das zu öffnende Transaktionsobjekt.
[in, optional] TmHandle
Ein Handle für ein Transaktions-Manager-Objekt. Wenn dieser Parameter nicht NULL-ist, sucht KTM nur nach Transaktionsobjekten, die zum angegebenen Transaktions-Manager-Objekt gehören. Wenn dieser Parameter NULL-ist, durchsucht KTM alle Transaktionsobjekte.
Rückgabewert
ZwCreateTransaction 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 |
---|---|
|
Der parameter DesiredAccess oder Uow parameter war null. |
|
Das angegebene Handle ist kein Handle für ein Transaktionsobjekt. |
|
Ein Objekthandle ist ungültig. |
|
KTM konnte das Transaktionsobjekt nicht finden. |
|
Der Wert des parameters DesiredAccess ist ungültig. |
Die Routine gibt möglicherweise andere NTSTATUS-Wertezurück.
Bemerkungen
In der Regel ruft ein Ressourcenmanager ZwOpenTransaction- auf, nachdem eine Transaktion UOW von einem Transaktionsclient empfangen wurde, der zuvor ZwCreateTransactionaufgerufen hatte.
Weitere Informationen zu ZwOpenTransaction-finden Sie unter Erstellen eines Ressourcen-Managers.
NtOpenTransaction- und ZwOpenTransaction- sind zwei Versionen derselben Windows Native System Services-Routine.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx und ZwXxx- Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Betriebssystemversionen. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen