TmPrePrepareEnlistment - NtDoc

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

NTSTATUS TmPrePrepareEnlistment(
  [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-tmpreprepareenlistment)

TmPrePrepareEnlistment function

Description

The TmPrePrepareEnlistment routine initiates the pre-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

TmPrePrepareEnlistment 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_PREPREPARE_COMPLETE notifications.
STATUS_TRANSACTION_REQUEST_NOT_VALID The transaction's state does not allow it to enter the pre-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 TmPrePrepareEnlistment routine is a pointer-based version of the ZwPrePrepareEnlistment routine.

Only superior transaction managers can call TmPrePrepareEnlistment.

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

ZwPrePrepareEnlistment