NtRecoverEnlistment-Funktion (wdm.h)
Die ZwRecoverEnlistment-Routine initiiert einen Wiederherstellungsvorgang für die Transaktion, die einer angegebenen Enlistment 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 ZwOpenEnlistment abgerufen wurde. Das Handle muss ENLISTMENT_RECOVER Zugriff auf das Objekt haben.
[in, optional] EnlistmentKey
Ein Zeiger auf den Enlistment-Schlüsselwert, den der Ressourcen-Manager zuvor als EnlistmentKey-Parameter auf ZwCreateEnlistment angegeben hat. Dieser Parameter ist optional und kann NULL sein, wenn der Ressourcen-Manager beim Aufrufen von ZwCreateEnlistment keinen Auflistungsschlü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 Einlistungsobjekt. |
|
Das Objekthandle ist ungültig. |
|
Die Transaktion oder ihre Einlistung befindet sich nicht im richtigen Zustand. |
|
KTM hat der Benachrichtigungswarteschlange des Ressourcenmanagers eine Commit-, Rollback- oder Zweifelsbenachrichtigung hinzugefügt, und der Ressourcen-Manager verwendet keine ResourceManagerNotification-Rückrufroutine . |
|
Der Aufrufer hat keinen entsprechenden Zugriff auf das Einlistungsobjekt. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Hinweise
Nachdem ein Ressourcenmanager ZwRecoverEnlistment aufgerufen hat, sendet KTM entweder eine TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK oder TRANSACTION_NOTIFY_INDOUBT Benachrichtigung für die Aufnahme. Daher muss der Ressourcen-Manager, sofern er keine ResourceManagerNotification-Rückrufroutine verwendet, sofort ZwGetNotificationResourceManager aufrufen, wenn ZwRecoverEnlistment STATUS_SUCCESS oder STATUS_PENDING zurückgibt.
Weitere Informationen zu ZwRecoverEnlistment finden Sie unter Behandeln von Wiederherstellungsvorgängen.
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, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Betriebssystemversionen. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Weitere Informationen
Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen