ZwRecoverEnlistment-Funktion (wdm.h)

Die ZwRecoverEnlistment-Routine initiiert einen Wiederherstellungsvorgang für die Transaktion, die einer angegebenen Registrierung zugeordnet ist.

Syntax

NTSYSCALLAPI NTSTATUS ZwRecoverEnlistment(
  [in]           HANDLE EnlistmentHandle,
  [in, optional] PVOID  EnlistmentKey
);

Parameter

[in] EnlistmentHandle

Ein Handle für ein Eintragsobjekt , das durch einen vorherigen Aufruf von ZwCreateEnlistment oder ZwOpenEnlistment abgerufen wurde. Das Handle muss über ENLISTMENT_RECOVER Zugriff auf das Objekt verfügen.

[in, optional] EnlistmentKey

Ein Zeiger auf den Eintragsschlü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 Eintragsschlü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
STATUS_OBJECT_TYPE_MISMATCH
Das angegebene Handle ist kein Handle für ein Eintragsobjekt.
STATUS_INVALID_HANDLE
Das Objekthandle ist ungültig.
STATUS_TRANSACTION_REQUEST_NOT_VALID
Die Transaktion oder ihre Einlistung befindet sich nicht im richtigen Zustand.
STATUS_PENDING
KTM hat der Benachrichtigungswarteschlange des Ressourcen-Managers eine Commit-, Rollback- oder Zweifelsbenachrichtigung hinzugefügt, und der Ressourcen-Manager verwendet keine ResourceManagerNotification-Rückrufroutine .
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen geeigneten Zugriff auf das Eintragsobjekt.
 

Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.

Hinweise

Nachdem ein Ressourcen-Manager ZwRecoverEnlistment aufgerufen hat, übermittelt 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, wie 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 systemeigenen 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(storport), PowerIrpDDis(wdm)

Weitere Informationen

ResourceManagerNotification

TmRecoverEnlistment

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment