Función NtRecoverEnlistment (wdm.h)
La rutina ZwRecoverEnlistment inicia una operación de recuperación para la transacción asociada a una inscripción especificada.
Sintaxis
__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PVOID EnlistmentKey
);
Parámetros
[in] EnlistmentHandle
Identificador de un objeto de inscripción obtenido por una llamada anterior a ZwCreateEnlistment o ZwOpenEnlistment. El identificador debe tener ENLISTMENT_RECOVER acceso al objeto .
[in, optional] EnlistmentKey
Puntero al valor de clave de inscripción que el administrador de recursos especificó anteriormente como parámetro EnlistmentKey en ZwCreateEnlistment. Este parámetro es opcional y puede ser NULL si el administrador de recursos no proporcionó una clave de inscripción cuando llamó a ZwCreateEnlistment.
Valor devuelto
ZwRecoverEnlistment devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta rutina podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
El identificador especificado no es un identificador para un objeto de inscripción. |
|
El identificador de objeto no es válido. |
|
La transacción o su inscripción no están en el estado correcto. |
|
KTM ha agregado una notificación de confirmación, reversión o duda a la cola de notificaciones del administrador de recursos y el administrador de recursos no usa una rutina de devolución de llamada ResourceManagerNotification . |
|
El autor de la llamada no tiene el acceso adecuado al objeto de inscripción. |
La rutina podría devolver otros valores NTSTATUS.
Comentarios
Una vez que un administrador de recursos llama a ZwRecoverEnlistment, KTM entrega una notificación de TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK o TRANSACTION_NOTIFY_INDOUBT para la inscripción. Por lo tanto, a menos que el administrador de recursos use una rutina de devolución de llamada ResourceManagerNotification, debe llamar inmediatamente a ZwGetNotificationResourceManager si ZwRecoverEnlistment devuelve STATUS_SUCCESS o STATUS_PENDING.
Para obtener más información sobre ZwRecoverEnlistment, consulte Control de operaciones de recuperación.
NtRecoverEnlistment y ZwRecoverEnlistment son dos versiones de la misma rutina de Windows Native System Services.
En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores del sistema operativo. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de System Services