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 ZwRecoverEnlistment- Routine initiiert einen Wiederherstellungsvorgang für die Transaktion, die einer angegebenen Liste zugeordnet ist.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PVOID EnlistmentKey
);
Parameter
[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.
Rückgabewert
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.
Bemerkungen
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.
Anforderungen
| 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 |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen