/********************************************************
*                                                       *
*   Copyright (C) Microsoft. All rights reserved.       *
*                                                       *
********************************************************/

//-----------------------------------------------------------------------------
// File:			trnlcl.idl
//
// Contents: 		OLE DB interface definition
//
// Comments: 		
//
//-----------------------------------------------------------------------------

cpp_quote("#include <winapifamily.h>")

#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")

#include "idlmulti.h"
//  
    
    REMOTED_INTERFACE(0c733a5f-2a1c-11ce-ade5-00aa0044773d)

    
interface ITransactionLocal : ITransaction {

	[local]
	HRESULT GetOptionsObject(
		[out, annotation("_Outptr_")] ITransactionOptions ** ppOptions
	);

	[call_as(GetOptionsObject)]
	HRESULT RemoteGetOptionsObject(
		[out] ITransactionOptions ** ppOptions,
		[out] IErrorInfo ** ppErrorInfoRem
	);

	[local]
	HRESULT StartTransaction(
		[in] ISOLEVEL isoLevel,
		[in] ULONG isoFlags,
		[in, annotation("_In_opt_")] ITransactionOptions * pOtherOptions,
		[out, annotation("_Out_opt_")] ULONG * pulTransactionLevel
	);

	[call_as(StartTransaction)]
	HRESULT RemoteStartTransaction(
		[in] ISOLEVEL isoLevel,
		[in] ULONG isoFlags,
		[in] ITransactionOptions * pOtherOptions,
		[in, out, unique] ULONG * pulTransactionLevel,
		[out] IErrorInfo ** ppErrorInfoRem
	);

}

cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion

