TmRequestOutcomeEnlistment - NtDoc

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

NTSTATUS TmRequestOutcomeEnlistment(
  [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-tmrequestoutcomeenlistment)

TmRequestOutcomeEnlistment function

Description

The TmRequestOutcomeEnlistment routine asks KTM to try to provide an immediate outcome (commit or rollback) for the transaction that is associated with a specified enlistment.

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

TmRequestOutcomeEnlistment returns STATUS_SUCCESS if the operation succeeds. Otherwise, this routine might return the following value:

Return code Description
STATUS_TRANSACTION_REQUEST_NOT_VALID The specified enlistment is a superior enlistment.

The routine might return other NTSTATUS values.

Remarks

The TmRequestOutcomeEnlistment routine asks KTM to try to provide an immediate outcome (result) for the transaction. A resource manager can call TmRequestOutcomeEnlistment after it has called TmPrepareComplete or ZwPrepareComplete, if it later discovers that it cannot wait for an outcome because, for example, a surprise-removal of the disk has occurred. KTM might be able to force a rollback if all resource managers have not finished their prepare operations.

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

For more information about TmCreateEnlistment, see Creating a Resource Manager.

See also

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmPrepareComplete

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareComplete