//-----------------------------------------------------------------------------
// File:			opnrst.idl
//
// Copyright:		Copyright (c) Microsoft Corporation          
//
// Contents: 		OLE DB interface definition
//
// Comments: 		
//
//-----------------------------------------------------------------------------

#include "idlmulti.h"
//

    REMOTED_INTERFACE(0c733a69-2a1c-11ce-ade5-00aa0044773d)


interface IOpenRowset : IUnknown {

	[local]
	HRESULT OpenRowset(
		[in, annotation("__in_opt")] IUnknown * pUnkOuter,
		[in, unique, annotation("__in_opt")] DBID * pTableID,
		[in, unique, annotation("__in_opt")] DBID * pIndexID,
		[in, annotation("__in")] REFIID riid,
		[in] ULONG cPropertySets,
		[in, out, size_is(cPropertySets), annotation("__inout_ecount_opt(cPropertySets)")] 
			DBPROPSET rgPropertySets[],
		[out, iid_is(riid), annotation("__deref_opt_out")] IUnknown ** ppRowset
	);

	[call_as(OpenRowset)]
	HRESULT RemoteOpenRowset(
		[in] IUnknown * pUnkOuter,
		[in, unique] DBID * pTableID,
		[in, unique] DBID * pIndexID,
		[in] REFIID riid,
		[in] ULONG cPropertySets,
		[in, unique, size_is(cPropertySets)] DBPROPSET * rgPropertySets,
		[in, out, unique, iid_is(riid)] IUnknown ** ppRowset,
		[in] ULONG cTotalProps,
		[out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus,
		[out] IErrorInfo ** ppErrorInfoRem
	);

}

