rstind.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

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