NtRecoverEnlistment-Funktion (wdm.h)
Die ZwRecoverEnlistment- Routine initiiert einen Wiederherstellungsvorgang für die Transaktion, die einer angegebenen Liste zugeordnet ist.
__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PVOID EnlistmentKey
);
[in] EnlistmentHandle
Ein Handle für ein Enlistment-Objekt, das durch einen vorherigen Aufruf von ZwCreateEnlistment oder ZwOpenEnlistmentabgerufen wurde. Das Handle muss über ENLISTMENT_RECOVER Zugriff auf das Objekt verfügen.
[in, optional] EnlistmentKey
Ein Zeiger auf den Wert des Listenschlüssels, den der Ressourcen-Manager zuvor als EnlistmentKey-Parameter angegeben hat, um ZwCreateEnlistment-. Dieser Parameter ist optional und kann NULL- werden, wenn der Ressourcenmanager beim Aufruf ZwCreateEnlistmentkeinen Listenschlüssel bereitgestellt hat.
ZwRecoverEnlistment 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 |
---|---|
|
Das angegebene Handle ist kein Handle für ein Enlistment-Objekt. |
|
Das Objekthandle ist ungültig. |
|
Die Transaktion oder deren Auflistung befindet sich nicht im richtigen Zustand. |
|
KTM hat eine Commit-, Rollback- oder Zweifelsbenachrichtigung zur Benachrichtigungswarteschlange des Ressourcenmanagers hinzugefügt, und der Ressourcenmanager verwendet keine ResourceManagerNotification Rückrufroutine. |
|
Der Aufrufer hat keinen geeigneten Zugriff auf das Enlistment-Objekt. |
Die Routine gibt möglicherweise andere NTSTATUS-Wertezurück.
Nachdem ein Ressourcenmanager ZwRecoverEnlistmentaufruft, liefert KTM entweder eine TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK oder TRANSACTION_NOTIFY_INDOUBT Benachrichtigung für die Einlistung. Wenn der Ressourcenmanager daher eine ResourceManagerNotification Rückrufroutine verwendet, muss er sofort ZwGetNotificationResourceManager aufrufen, wenn ZwRecoverEnlistment STATUS_SUCCESS oder STATUS_PENDING zurückgibt.
Weitere Informationen zu ZwRecoverEnlistmentfinden Sie unter Handling Recovery Operations.
NtRecoverEnlistment und ZwRecoverEnlistment 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.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Betriebssystemversionen. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen