NtOpenTransaction-Funktion (wdm.h)
Die ZwOpenTransaction-Routine ruft ein Handle für ein vorhandenes Transaktionsobjekt ab.
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 zugeordnete Variable, die ein Handle für das Transaktionsobjekt empfängt, wenn ZwOpenTransaction STATUS_SUCCESS zurückgibt.
[in] DesiredAccess
Ein ACCESS_MASK Wert, der den vom Aufrufer angeforderten Zugriff auf das Transaktionsobjekt angibt. Informationen zum Angeben dieses Parameters finden Sie im 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 Parameter InitializedAttributes und Attributes dieser Routine an . Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss er das flag OBJ_KERNEL_HANDLE im Attributes-Parameter festlegen. Der Parameter ObjectAttributes ist optional und kann NULL sein.
[in] Uow
Ein Zeiger auf eine GUID, bei der es sich um den Bezeichner der Arbeitseinheit (UOW) eines Transaktionsobjekts handelt. 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 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 DesiredAccess-Parameters ist ungültig. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Hinweise
In der Regel ruft ein Ressourcen-Manager ZwOpenTransaction auf, nachdem er eine Transaktions-UOW von einem Transaktionsclient empfangen hat, der zuvor ZwCreateTransaction aufgerufen hatte.
Weitere Informationen zu ZwOpenTransaction finden Sie unter Erstellen einer Resource Manager.
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 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 höheren Betriebssystemversionen. |
Zielplattform | Universell |
Header | wdm.h (include Wdm.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |