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 caller-zugeordnete Variable, die ein Handle an 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 in einem Systemthreadkontext nicht ausgeführt wird, muss es das OBJ_KERNEL_HANDLE Attribut festlegen, wenn initializeObjectAttributes aufgerufen wird. Dieser Parameter ist optional und kann NULL sein.
[in, optional] LogFileName
Ein Zeiger auf eine UNICODE_STRING Struktur, die den Pfad und dateinamen des Protokolldateidatenstroms enthält, der beim Erstellen des Transaktions-Manager-Objekts erstellt wurde. Weitere Informationen finden Sie im LogFileName-Parameter von ZwCreateTransactionManager. Dieser Parameter ist optional und kann NULL sein.
[in, optional] TmIdentity
Ein Zeiger auf eine GUID, die das Transaktions-Manager-Objekt identifiziert. Dieser Parameter ist optional und kann NULL sein.
[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 keine Systemressourcen (in der Regel Arbeitsspeicher) zuordnen. |
|
Der Objektname, den der Parameter ObjectAttributes angibt, ist ungültig. |
|
KTM hat beim Erstellen oder Öffnen der Protokolldatei einen Fehler gefunden. |
|
Der Wert des Parameters DesiredAccess ist ungültig. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Bemerkungen
Der Aufrufer kann ermitteln, 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 TmIdentity-Parameter , 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 der ZwCreateTransactionManager-Routine angegeben hat.
Ihre TPS-Komponente muss ZwRecoverTransactionManager aufrufen, nachdem sie ZwOpenTransactionManager aufgerufen hat.
Eine TPS-Komponente, die ZwOpenTransactionManager aufruft, muss schließlich ZwClose aufrufen, um das Objekthandle zu schließen.
Weitere Informationen zur Verwendung von ZwOpenTransactionManager finden Sie unter Transaction Manager Objects and Creating a Resource Manager.
NtOpenTransactionManager und ZwOpenTransactionManager sind zwei Versionen derselben Windows Native System Services-Routine.
Für Aufrufe 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- undZwXxx-Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Requirements (Anforderungen)
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista- und späteren Betriebssystemversionen. |
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
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen