Función TmPrepareEnlistment (wdm.h)

La rutina TmPrepareEnlistment inicia la operación de preparación para una transacción de inscripción especificada.

Sintaxis

NTSTATUS TmPrepareEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

Parámetros

[in] Enlistment

Puntero a un objeto de inscripción. El componente puede recibir este puntero como entrada en una rutina de devolución de llamada ResourceManagerNotification . Como alternativa, el componente puede llamar a ObReferenceObjectByHandle y proporcionar el identificador de objeto que proporciona una llamada anterior a ZwCreateEnlistment, TmCreateEnlistment o ZwOpenEnlistment .

[in] TmVirtualClock

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

Valor devuelto

TmPrepareEnlistment 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_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 TRANSACTION_NOTIFY_PREPARE_COMPLETE notificaciones.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transacción de la inscripción no está en un estado que le permita entrar en la fase de preparación.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto de inscripción.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

La rutina TmPrepareEnlistment es una versión basada en puntero de la rutina ZwPrepareEnlistment .

Solo los administradores de transacciones superiores pueden llamar a TmPrepareEnlistment.

Para obtener información sobre cuándo usar rutinas TmXxx de KTM en lugar de rutinas ZwXxx , vea Using TmXxx 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

Consulte también

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareEnlistment