NtOpenTransactionManager-Funktion (wdm.h)
Die ZwOpenTransactionManager Routine ruft ein Handle für ein vorhandenes Transaktions-Manager-Objekt ab.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransactionManager(
[out] PHANDLE TmHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PUNICODE_STRING LogFileName,
[in, optional] LPGUID TmIdentity,
[in, optional] ULONG OpenOptions
);
Parameter
[out] TmHandle
Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die ein Handle für das Transaktions-Manager-Objekt empfängt, wenn ZwOpenTransactionManager STATUS_SUCCESS zurückgibt.
[in] DesiredAccess
Ein ACCESS_MASK Wert, der den angeforderten Zugriff des Aufrufers auf das Transaktions-Manager-Objekt angibt. Informationen zum Angeben dieses Parameters finden Sie im DesiredAccess Parameter von ZwCreateTransactionManager.
[in, optional] ObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die den Objektnamen und andere Attribute angibt. Verwenden Sie die InitializeObjectAttributes Routine, um diese Struktur zu initialisieren. Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss das attribut OBJ_KERNEL_HANDLE festgelegt werden, wenn er InitializeObjectAttributesaufruft. Dieser Parameter ist optional und kann NULL-werden.
[in, optional] LogFileName
Ein Zeiger auf eine UNICODE_STRING Struktur, die den Pfad und Dateinamen des Protokolldateidatenstroms enthält,, die beim Erstellen des Transaktions-Manager-Objekts erstellt wurde. Weitere Informationen finden Sie im LogFileName Parameter von ZwCreateTransactionManager. Dieser Parameter ist optional und kann NULL-werden.
[in, optional] TmIdentity
Ein Zeiger auf eine GUID, die das Transaktions-Manager-Objekt identifiziert. Dieser Parameter ist optional und kann NULL-werden.
[in, optional] OpenOptions
Dieser Parameter wird nicht verwendet und muss null sein.
Rückgabewert
ZwOpenTransactionManager 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 Wert eines Eingabeparameters ist ungültig. |
|
KTM konnte Systemressourcen (in der Regel Speicher) nicht zuordnen. |
|
Der Objektname, den der parameter ObjectAttributes angibt, ist ungültig. |
|
KTM hat beim Erstellen oder Öffnen der Protokolldatei einen Fehler festgestellt. |
|
Der Wert des parameters DesiredAccess ist ungültig. |
Die Routine gibt möglicherweise andere NTSTATUS-Wertezurück.
Bemerkungen
Der Aufrufer kann identifizieren, welches Transaktions-Manager-Objekt geöffnet werden soll, indem eine der folgenden drei Techniken verwendet wird:
- Verwenden Sie den LogFileName Parameter, um den Pfad und Dateinamen eines Protokolldateidatenstroms anzugeben, der beim Erstellen des Transaktions-Manager-Objekts erstellt wurde.
- Verwenden Sie den parameter TmIdentity, um die GUID anzugeben, die das Transaktions-Manager-Objekt identifiziert.
- Verwenden Sie den ObjectAttributes Parameter, um eine OBJECT_ATTRIBUTES Struktur anzugeben, die den Objektnamen enthält, den der Aufrufer zuvor im ZwCreateTransactionManager Routine angegeben hat.
Ihre TPS-Komponente muss ZwRecoverTransactionManager aufrufen, nachdem sie ZwOpenTransactionManageraufgerufen hat.
Eine TPS-Komponente, die ZwOpenTransactionManager aufruft muss schließlich ZwClose- aufrufen, um das Objekthandle zu schließen.
Weitere Informationen zur Verwendung ZwOpenTransactionManagerfinden Sie unter Transaction Manager Objects und Creating a Resource Manager.
NtOpenTransactionManager und ZwOpenTransactionManager 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