Share via


ITransactionPhase0EnlistmentAsync::Phase0Done

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

An application invokes the Phase0Done method to indicate that it has completed Phase0 processing. The implication of making this call is that the Phase0 participant has no more work that would preclude the transaction from beginning the two-phase commit processing(though other participants may still have such work). When the last Phase0 participant has called Phase0Done, and there are no new Phase0 enlistments, the transaction can proceed with two-phase commit processing.

This method should be called only after receiving a Phase0Request notification.

Syntax

  
HRESULT Phase0Done(void);  
  

Return Values

S_OK
Success.

E_UNEXPECTED
Failure—Something unexpected happened.

XACT_E_PROTOCOL
Failure—Phase0Done was called illegally.

XACT_E_CONNECTION_DOWN
Failure Lost connection with the transaction manager.

Remarks

For a phase0 re-enlistment to succeed, the re-enlistment must be done before calling ITransactionPhase0EnlistmentAsync::Phase0Done; otherwise re-enlistment may not be successful.

Requirements

For an explanation of the requirement values, see Requirements (Component Services).

Platforms: Windows Server 2016, Windows 10, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista

Header: Declared in txdtc.h

See Also

ITransactionPhase0Factory