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


//-----------------------------------------------------------------------------
// File:			asysta.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(0c733a95-2a1c-11ce-ade5-00aa0044773d)

interface IDBAsynchStatus : IUnknown {

	[local]
	HRESULT Abort(
		[in] HCHAPTER hChapter,
		[in] DBASYNCHOP eOperation
	);

	[call_as(Abort)]
	HRESULT RemoteAbort(
		[in] HCHAPTER hChapter,
		[in] DBASYNCHOP eOperation,
		[out] IErrorInfo ** ppErrorInfoRem
	);

	[local]
	HRESULT GetStatus(
		[in] HCHAPTER hChapter,
		[in] DBASYNCHOP eOperation,
		[out, annotation("_Out_opt_")] DBCOUNTITEM * pulProgress,
		[out, annotation("_Out_opt_")] DBCOUNTITEM * pulProgressMax,
		[out, annotation("_Out_")] DBASYNCHPHASE * peAsynchPhase,
		[out, annotation("_Inout_opt_")] LPOLESTR * ppwszStatusText
	);

	[call_as(GetStatus)]
	HRESULT RemoteGetStatus(
		[in] HCHAPTER hChapter,
		[in] DBASYNCHOP eOperation,
		[in,out,unique] DBCOUNTITEM * pulProgress,
		[in,out,unique] DBCOUNTITEM * pulProgressMax,
		[in,out,unique] DBASYNCHPHASE * peAsynchPhase,
		[in,out,unique] LPOLESTR * ppwszStatusText,
		[out] IErrorInfo ** ppErrorInfoRem
	);

}

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

