//----------------------------------------------------------------------------- // File: cmdbas.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: OLE DB interface definition // // Comments: // //----------------------------------------------------------------------------- #include "idlmulti.h" // REMOTED_INTERFACE(0c733a63-2a1c-11ce-ade5-00aa0044773d) interface ICommand : IUnknown { [local] HRESULT Cancel( ); [call_as(Cancel)] HRESULT RemoteCancel( [out] IErrorInfo ** ppErrorInfoRem ); [local] HRESULT Execute( [in, annotation("__in_opt")] IUnknown * pUnkOuter, [in] REFIID riid, [in, out, annotation("__inout_opt")] DBPARAMS * pParams, [out, annotation("__out_opt")] DBROWCOUNT * pcRowsAffected, [out, iid_is(riid), annotation("__deref_opt_out")] IUnknown ** ppRowset ); #ifndef NO_REMOTE #ifdef _WIN64 //Use casting by ULONG in attribute size_is under 64-bit environment. [call_as(Execute)] HRESULT RemoteExecute( [in] IUnknown * pUnkOuter, [in] REFIID riid, [in] HACCESSOR hAccessor, [in] DB_UPARAMS cParamSets, [in, unique] GUID * pGuid, [in] ULONG ulGuidOffset, [in, unique] RMTPACK * pInputParams, [in, out, unique] RMTPACK * pOutputParams, [in] DBCOUNTITEM cBindings, [in, unique, size_is((ULONG)cBindings)] DBBINDING * rgBindings, [in, out, unique, size_is((ULONG)cBindings)] DBSTATUS * rgStatus, [in, out, unique] DBROWCOUNT * pcRowsAffected, [in, out, unique, iid_is(riid)] IUnknown ** ppRowset ); #else //No casting by ULONG for 32-bit. [call_as(Execute)] HRESULT RemoteExecute( [in] IUnknown * pUnkOuter, [in] REFIID riid, [in] HACCESSOR hAccessor, [in] DB_UPARAMS cParamSets, [in, unique] GUID * pGuid, [in] ULONG ulGuidOffset, [in, unique] RMTPACK * pInputParams, [in, out, unique] RMTPACK * pOutputParams, [in] DBCOUNTITEM cBindings, [in, unique, size_is(cBindings)] DBBINDING * rgBindings, [in, out, unique, size_is(cBindings)] DBSTATUS * rgStatus, [in, out, unique] DBROWCOUNT * pcRowsAffected, [in, out, unique, iid_is(riid)] IUnknown ** ppRowset ); #endif #endif [local] HRESULT GetDBSession( [in] REFIID riid, [out, iid_is(riid), annotation("__deref_out_opt")] IUnknown ** ppSession ); [call_as(GetDBSession)] HRESULT RemoteGetDBSession( [in] REFIID riid, [out, iid_is(riid)] IUnknown ** ppSession, [out] IErrorInfo ** ppErrorInfoRem ); }