Freigeben über


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
STATUS_ENLISTMENT_NOT_SUPERIOR
Der Aufrufer ist kein überlegener Transaktionsmanager für die Einlistung.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
Der Anrufer hat sich nicht registriert, um TRANSACTION_NOTIFY_PREPARE_COMPLETE Benachrichtigungen zu empfangen.
STATUS_OBJECT_TYPE_MISMATCH
Das angegebene Handle ist kein Handle für ein Enlistment-Objekt.
STATUS_INVALID_HANDLE
Das Objekthandle ist ungültig.
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen geeigneten Zugriff auf das Enlistment-Objekt.
STATUS_TRANSACTION_REQUEST_NOT_VALID
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

TmPrepareEnlistment

Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen

ZwCreateEnlistment

ZwOpenEnlistment