//----------------------------------------------------------------------------- // File: vwflt.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: OLE DB interface definition // // Comments: // //----------------------------------------------------------------------------- #include "idlmulti.h" // REMOTED_INTERFACE(0c733a9b-2a1c-11ce-ade5-00aa0044773d) interface IViewFilter : IUnknown { [local] HRESULT GetFilter( [in] HACCESSOR hAccessor, [out, annotation("__out")] DBCOUNTITEM * pcRows, [out, annotation("__out_ecount(*pcRows)")] DBCOMPAREOP * pCompareOps[], [out, annotation("__out")] void * pCriteriaData ); [local] HRESULT GetFilterBindings( [out, annotation("__out")] DBCOUNTITEM * pcBindings, [out, annotation("__deref_out_ecount_opt(*pcBindings)")] DBBINDING ** prgBindings ); #ifndef NO_REMOTE #ifdef _WIN64 //Use casting by ULONG in attribute size_is under 64-bit environment. [call_as(GetFilterBindings)] HRESULT RemoteGetFilterBindings( [in, out] DBCOUNTITEM * pcBindings, [out, size_is(,(ULONG)*pcBindings)] DBBINDING ** prgBindings, [out] IErrorInfo ** ppErrorInfoRem ); #else //No casting by ULONG for 32-bit. [call_as(GetFilterBindings)] HRESULT RemoteGetFilterBindings( [in, out] DBCOUNTITEM * pcBindings, [out, size_is(,*pcBindings)] DBBINDING ** prgBindings, [out] IErrorInfo ** ppErrorInfoRem ); #endif #endif [local] HRESULT SetFilter( [in] HACCESSOR hAccessor, [in] DBCOUNTITEM cRows, [in, annotation("__in_ecount(cRows)")] DBCOMPAREOP CompareOps[], [in, annotation("__in")] void * pCriteriaData ); }