Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die ZwOpenTransactionManager-Routine ruft ein Handle für ein vorhandenes Transaktions-Manager-Objekt ab.
Syntax
NTSYSCALLAPI NTSTATUS ZwOpenTransactionManager(
[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 zugeordnete 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 vom Aufrufer angeforderten Zugriff 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 er das attribut OBJ_KERNEL_HANDLE 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 entsprechen.
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 ObjectAttributes-Parameter angibt, ist ungültig. |
|
BEI KTM ist beim Erstellen oder Öffnen der Protokolldatei ein Fehler aufgetreten. |
|
Der Wert des DesiredAccess-Parameters ist ungültig. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Hinweise
Der Aufrufer kann mithilfe einer der folgenden drei Techniken identifizieren, welches Transaktions-Manager-Objekt geöffnet werden soll:
- Verwenden Sie den Parameter LogFileName , 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 für die 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-Objekte und Erstellen einer 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 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(storport), PowerIrpDDis(wdm) |