Compartir a través de


Función TmPrepareEnlistment (wdm.h)

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

Sintaxis

NTSTATUS TmPrePrepareEnlistment(
  [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 del objeto que proporcionó una llamada anterior a ZwCreateEnlistment, TmCreateEnlistment o ZwOpenEnlistment proporcionada.

[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 notificaciones de TRANSACTION_NOTIFY_PREPREPARE_COMPLETE.
STATUS_TRANSACTION_REQUEST_NOT_VALID
El estado de la transacción no permite entrar en la fase de preparación previa.
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 las rutinas TmXxx de KTM en lugar de las rutinas ZwXxx , consulte Uso de rutinas TmXxx.

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