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 ZwPrepareEnlistment- Routine initiiert den Vorbereitungsvorgang für die Transaktion einer angegebenen Liste.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtPrepareEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Parameter
[in] EnlistmentHandle
Ein Handle für ein Enlistment-Objekt, das durch einen vorherigen Aufruf von ZwCreateEnlistment oder ZwOpenEnlistmentabgerufen wurde. Das Objekt muss eine übergeordneten Listenliste darstellen, und der Handle muss über ENLISTMENT_SUPERIOR_RIGHTS Zugriff auf das Objekt verfügen.
[in, optional] TmVirtualClock
Ein Zeiger auf einen virtuellen Uhrwert. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
ZwPrepareEnlistment 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 Aufrufer ist kein überlegener Transaktionsmanager für die Einlistung. |
|
Der Anrufer hat sich nicht registriert, um TRANSACTION_NOTIFY_PREPARE_COMPLETE Benachrichtigungen zu empfangen. |
|
Das angegebene Handle ist kein Handle für ein Enlistment-Objekt. |
|
Das Objekthandle ist ungültig. |
|
Der Aufrufer hat keinen geeigneten Zugriff auf das Enlistment-Objekt. |
|
Die Transaktion der Einlistung befindet sich nicht in einem Zustand, der es ermöglicht, die Vorbereitungsphase einzugeben. |
Die Routine gibt möglicherweise andere NTSTATUS-Wertezurück.
Bemerkungen
Nur überlegene Transaktionsmanager können ZwPrepareEnlistmentaufrufen.
Die ZwPrepareEnlistment Routine bewirkt, dass KTM TRANSACTION_NOTIFY_PREPARE Benachrichtigungen an alle Ressourcenmanager sendet, die in der Transaktion aufgelistet sind.
Anrufer von ZwPrepareEnlistment müssen sich registrieren, um TRANSACTION_NOTIFY_PREPARE_COMPLETE Benachrichtigungen zu empfangen.
Weitere Informationen zu ZwPrepareEnlistmentfinden Sie unter Creating a Superior Transaction Manager and Handling Commit Operations.
NtPrePrepareEnlistment und ZwPrePrepareEnlistment 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