// wdm.h
NTSTATUS TmPrepareComplete(
[in] PKENLISTMENT Enlistment,
[in] PLARGE_INTEGER TmVirtualClock
);
View the official Windows Driver Kit DDI referenceNo description available.
The TmPrepareComplete routine notifies KTM that the calling resource manager has finished preparing a transaction's data.
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.
TmPrepareComplete returns STATUS_SUCCESS if the operation succeeds. Otherwise, this routine might return one of the following values:
| Return code | Description |
|---|---|
| STATUS_TRANSACTION_NOT_REQUESTED | The transaction or its enlistment is not in the correct state. For example, KTM did not send a TRANSACTION_NOTIFY_PREPREPARE notification. |
The routine might return other NTSTATUS values.
The TmPrepareComplete routine is a pointer-based version of the ZwPrepareComplete routine.
For information about when to use KTM's Tm*Xxx* routines instead of Zw*Xxx* routines, see Using TmXxx Routines.