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

#include "idlmulti.h"

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

interface IBindResource : IUnknown
{

[local]
HRESULT Bind(	
	[in, annotation("__in_opt")]                    		IUnknown*           pUnkOuter,
	[in, annotation("__in_z")]                            LPCOLESTR 		    pwszURL,
	[in]                            DBBINDURLFLAG       dwBindURLFlags,
	[in]                            REFGUID		        rguid,
	[in]                            REFIID 		        riid,	
	[in, annotation("__in_opt")]                    		IAuthenticate*      pAuthenticate,
	[in, out, unique, annotation("__inout_opt")]               DBIMPLICITSESSION*  pImplSession,
	[in, out, unique, annotation("__out_opt")]               DBBINDURLSTATUS*    pdwBindStatus,
	[out, iid_is(riid), annotation("__deref_out")]             IUnknown**          ppUnk
    );

[call_as(Bind)]
HRESULT RemoteBind(
	[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,
	[out, iid_is(riid)] IUnknown ** ppUnk
	);

};

