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


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


interface ICreateRow : IUnknown
{

[local]
HRESULT CreateRow(
	[in, unique, annotation("_In_opt_")] IUnknown*  pUnkOuter,
	[in, annotation("_In_z_")] LPCOLESTR  pwszURL,
	[in] DBBINDURLFLAG  dwBindURLFlags,
	[in] REFGUID	rguid,
	[in] REFIID riid,
	[in, unique, annotation("_In_opt_")] IAuthenticate*	pAuthenticate,
	[in, out, unique, annotation("_Inout_opt_")] DBIMPLICITSESSION*	  pImplSession,
	[in, out, unique, annotation("_Out_")]	 DBBINDURLSTATUS*   pdwBindStatus,
	[out, annotation("_Outptr_opt_result_maybenull_")] LPOLESTR*  ppwszNewURL,
	[out, iid_is(riid), annotation("_Outptr_")] IUnknown**	  ppUnk
	);

[call_as(CreateRow)]
HRESULT RemoteCreateRow(
	[in] IUnknown * pUnkOuter,
	[in] LPCOLESTR pwszURL,
	[in] DBBINDURLFLAG dwBindURLFlags,
	[in] REFGUID rguid,
	[in] REFIID riid,
	[in] IAuthenticate * pAuthenticate,
	[in] IUnknown *pSessionUnkOuter,
	[in, unique] IID *piid,
	[in, out, unique, iid_is(piid)] IUnknown **ppSession,
	[in, out, unique] DBBINDURLSTATUS * pdwBindStatus,
	[in, out, unique] LPOLESTR * ppwszNewURL,
	[out, iid_is(riid)] IUnknown ** ppUnk
	);

};

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

