rstind.idl 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //-----------------------------------------------------------------------------
  2. // File: rstind.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents: OLE DB interface definition
  7. //
  8. // Comments:
  9. //
  10. //-----------------------------------------------------------------------------
  11. #include "idlmulti.h"
  12. //
  13. LOCAL_INTERFACE(0c733a82-2a1c-11ce-ade5-00aa0044773d)
  14. interface IRowsetIndex : IUnknown {
  15. typedef DWORD DBSEEK;
  16. enum DBSEEKENUM
  17. { DBSEEK_INVALID = 0,
  18. DBSEEK_FIRSTEQ = 0x1,
  19. DBSEEK_LASTEQ = 0x2,
  20. DBSEEK_AFTEREQ = 0x4,
  21. DBSEEK_AFTER = 0x8,
  22. DBSEEK_BEFOREEQ = 0x10,
  23. DBSEEK_BEFORE = 0x20
  24. };
  25. cpp_quote("#define DBSEEK_GE DBSEEK_AFTEREQ")
  26. cpp_quote("#define DBSEEK_GT DBSEEK_AFTER")
  27. cpp_quote("#define DBSEEK_LE DBSEEK_BEFOREEQ")
  28. cpp_quote("#define DBSEEK_LT DBSEEK_BEFORE")
  29. typedef DWORD DBRANGE;
  30. enum DBRANGEENUM {
  31. DBRANGE_INCLUSIVESTART = 0x00,
  32. DBRANGE_INCLUSIVEEND = 0x00,
  33. DBRANGE_EXCLUSIVESTART = 0x01,
  34. DBRANGE_EXCLUSIVEEND = 0x02,
  35. DBRANGE_EXCLUDENULLS = 0x04,
  36. DBRANGE_PREFIX = 0x08,
  37. DBRANGE_MATCH = 0x10,
  38. };
  39. cpp_quote("//@@@+ V2.0")
  40. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  41. enum DBRANGEENUM20 {
  42. DBRANGE_MATCH_N_SHIFT = 0x18,
  43. DBRANGE_MATCH_N_MASK = 0xff,
  44. };
  45. cpp_quote("#endif // OLEDBVER >= 0x0200")
  46. cpp_quote("//@@@- V2.0")
  47. HRESULT GetIndexInfo(
  48. [in, out] DBORDINAL * pcKeyColumns,
  49. [out, size_is(,*pcKeyColumns)] DBINDEXCOLUMNDESC ** prgIndexColumnDesc,
  50. [in, out] ULONG * pcIndexPropertySets,
  51. [out, size_is(,*pcIndexPropertySets)] DBPROPSET ** prgIndexPropertySets
  52. );
  53. HRESULT Seek(
  54. [in] HACCESSOR hAccessor,
  55. [in] DBORDINAL cKeyValues,
  56. [in] void * pData,
  57. [in] DBSEEK dwSeekOptions
  58. );
  59. HRESULT SetRange(
  60. [in] HACCESSOR hAccessor,
  61. [in] DBORDINAL cStartKeyColumns,
  62. [in] void * pStartData,
  63. [in] DBORDINAL cEndKeyColumns,
  64. [in] void * pEndData,
  65. [in] DBRANGE dwRangeOptions
  66. );
  67. }