xpmgr/BuildTools/Include/vwflt.idl

65 lines
1.6 KiB
Plaintext

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