Compartir a través de


Función ZwCommitEnlistment (wdm.h)

La rutina ZwCommitEnlistment inicia la operación de confirmación de una transacción de inscripción especificada.

Sintaxis

NTSYSCALLAPI NTSTATUS ZwCommitEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Parámetros

[in] EnlistmentHandle

Identificador de un objeto de inscripción obtenido por una llamada anterior a ZwCreateEnlistment o ZwOpenEnlistment. El objeto debe representar una inscripción superior y el identificador debe tener ENLISTMENT_SUPERIOR_RIGHTS acceso al objeto.

[in, optional] TmVirtualClock

Puntero a un valor de reloj virtual. Este parámetro es opcional y puede ser NULL.

Valor devuelto

ZwCommitEnlistment 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
STATUS_OBJECT_TYPE_MISMATCH
El identificador especificado no es un identificador para un objeto de inscripción.
STATUS_INVALID_HANDLE
El identificador de objeto no es válido.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto de inscripción.
STATUS_ENLISTMENT_NOT_SUPERIOR
El autor de la llamada no es un administrador de transacciones superior para la inscripción.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
El autor de la llamada no se registró para recibir notificaciones TRANSACTION_NOTIFY_COMMIT_COMPLETE.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transacción de la inscripción no está en un estado que le permita confirmarse.
STATUS_TRANSACTION_NOT_ACTIVE
Ya se ha iniciado la operación de confirmación de esta transacción.
STATUS_TRANSACTION_ALREADY_ABORTED
No se puede confirmar la transacción porque se ha revertido.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

Solo los administradores de transacciones superiores pueden llamar a ZwCommitEnlistment.

Los autores de llamadas de ZwCommitEnlistment deben registrarse para recibir notificaciones TRANSACTION_NOTIFY_COMMIT_COMPLETE.

La rutina ZwCommitEnlistment hace que KTM envíe notificaciones TRANSACTION_NOTIFY_COMMIT a todos los administradores de recursos que se han inscrito en la transacción.

Para obtener más información sobre ZwCommitEnlistment, vea Creating a Superior Transaction Manager and Handling Commit Operations.

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, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

TmCommitEnlistment

Uso de las versiones Nt y Zw de las rutinas nativas de System Services

ZwCreateEnlistment

ZwOpenEnlistment