xpmgr/BuildTools/Include/cmdbas.idl

95 lines
2.4 KiB
Plaintext

//-----------------------------------------------------------------------------
// 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
);
}