NtPrepareEnlistment-Funktion (wdm.h)
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