TmPrepareEnlistment - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

NTSTATUS TmPrepareEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdm-tmprepareenlistment)

TmPrepareEnlistment function

Description

The TmPrepareEnlistment routine initiates the prepare operation for a specified enlistment's transaction.

Parameters

Enlistment [in]

A pointer to an enlistment object. Your component can receive this pointer as input to a ResourceManagerNotification callback routine. Alternatively, your component can call ObReferenceObjectByHandle and supply the object handle that a previous call to ZwCreateEnlistment, TmCreateEnlistment, or ZwOpenEnlistment provided.

TmVirtualClock [in]

A pointer to a virtual clock value. This parameter is optional and can be NULL.

Return value

TmPrepareEnlistment returns STATUS_SUCCESS if the operation succeeds. Otherwise, this routine might return one of the following values:

Return code Description
STATUS_ENLISTMENT_NOT_SUPERIOR The caller is not a superior transaction manager for the enlistment.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED The caller did not register to receive TRANSACTION_NOTIFY_PREPARE_COMPLETE notifications.
STATUS_TRANSACTION_REQUEST_NOT_VALID The enlistment's transaction is not in a state that allows it to enter the prepare phase.
STATUS_ACCESS_DENIED The caller does not have appropriate access to the enlistment object.

The routine might return other NTSTATUS values.

Remarks

The TmPrepareEnlistment routine is a pointer-based version of the ZwPrepareEnlistment routine.

Only superior transaction managers can call TmPrepareEnlistment.

For information about when to use KTM's Tm*Xxx* routines instead of Zw*Xxx* routines, see Using TmXxx Routines.

See also

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareEnlistment