Condividi tramite


Funzione ZwRecoverEnlistment (wdm.h)

La routine ZwRecoverEnlistment avvia un'operazione di ripristino per la transazione associata a un elenco specificato.

Sintassi

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

Parametri

[in] EnlistmentHandle

Handle a un oggetto enlistment ottenuto da una chiamata precedente a ZwCreateEnlistment o ZwOpenEnlistment. L'handle deve avere ENLISTMENT_RECOVER accesso all'oggetto.

[in, optional] EnlistmentKey

Puntatore al valore della chiave di inserimento specificato in precedenza da Gestione risorse come parametro EnlistmentKey in ZwCreateEnlistment. Questo parametro è facoltativo e può essere NULL se gestione risorse non ha fornito una chiave di inserimento quando è stato chiamato ZwCreateEnlistment.

Valore restituito

ZwRecoverEnlistment restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_OBJECT_TYPE_MISMATCH
L'handle specificato non è un handle per un oggetto enlistment.
STATUS_INVALID_HANDLE
L'handle dell'oggetto non è valido.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transazione o l'inserimento non è nello stato corretto.
STATUS_PENDING
KTM ha aggiunto un commit, un rollback o una notifica in dubbio alla coda di notifica di Resource Manager e gestione risorse non usa una routine di callback ResourceManagerNotification .
STATUS_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato all'oggetto enlistment.
 

La routine potrebbe restituire altri valori NTSTATUS.

Commenti

Dopo che un gestore risorse chiama ZwRecoverEnlistment, KTM recapita un TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK o TRANSACTION_NOTIFY_INDOUBT notifica per l'inserimento. Pertanto, a meno che il gestore risorse usi una routine di callback ResourceManagerNotification , deve chiamare immediatamente ZwGetNotificationResourceManager se ZwRecoverEnlistment restituisce STATUS_SUCCESS o STATUS_PENDING.

Per altre informazioni su ZwRecoverEnlistment, vedere Gestione delle operazioni di ripristino.

NtRecoverEnlistment e ZwRecoverEnlistment sono due versioni della stessa routine di Windows Native System Services.

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive del sistema operativo.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

ResourceManagerNotification

TmRecoverEnlistment

Uso di nt e zw versioni delle routine di Servizi di sistema nativo

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment