dbsrst.idl 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. //-----------------------------------------------------------------------------
  2. // File: dbsrst.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. REMOTED_INTERFACE(0c733a7b-2a1c-11ce-ade5-00aa0044773d)
  14. interface IDBSchemaRowset : IUnknown {
  15. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_ASSERTIONS 3")
  16. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CATALOGS 1")
  17. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS 3")
  18. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLLATIONS 3")
  19. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMNS 4")
  20. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS 3")
  21. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE 4")
  22. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE 3")
  23. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE 7")
  24. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS 3")
  25. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS 7")
  26. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE 4")
  27. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_INDEXES 5")
  28. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS 1")
  29. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECTS 1")
  30. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES 6")
  31. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES 5")
  32. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES 6")
  33. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROCEDURES 4")
  34. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SCHEMATA 3")
  35. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES 0")
  36. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_STATISTICS 3")
  37. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLES 4")
  38. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS 3")
  39. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES 2")
  40. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEWS 3")
  41. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE 3")
  42. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE 3")
  43. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS 4")
  44. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS 6")
  45. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS 3")
  46. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS 4")
  47. // VERSION 2.0
  48. cpp_quote("//@@@+ V2.0")
  49. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  50. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLES_INFO 4")
  51. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_CUBES 3")
  52. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_DIMENSIONS 5")
  53. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_HIERARCHIES 6")
  54. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_LEVELS 7")
  55. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_MEASURES 5")
  56. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_PROPERTIES 9")
  57. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_MEMBERS 12")
  58. cpp_quote("#endif // OLEDBVER >= 0x0200")
  59. cpp_quote("//@@@- V2.0")
  60. cpp_quote("//@@@+ V2.1")
  61. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  62. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRUSTEE 4")
  63. cpp_quote("#endif // OLEDBVER >= 0x0210")
  64. cpp_quote("//@@@- V2.1")
  65. cpp_quote("//@@@+ V2.6")
  66. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  67. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_STATISTICS 7")
  68. cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE 6")
  69. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_FUNCTIONS 4")
  70. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_ACTIONS 8")
  71. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_COMMANDS 5")
  72. cpp_quote("#define CRESTRICTIONS_MDSCHEMA_SETS 5")
  73. cpp_quote("#endif // OLEDBVER >= 0x0260")
  74. cpp_quote("//@@@- V2.6")
  75. [local]
  76. HRESULT GetRowset(
  77. [in] IUnknown * pUnkOuter,
  78. [in] REFGUID rguidSchema,
  79. [in] ULONG cRestrictions,
  80. [in, size_is(cRestrictions)] const VARIANT rgRestrictions[],
  81. [in] REFIID riid,
  82. [in] ULONG cPropertySets,
  83. [in, out, unique, size_is(cPropertySets)] DBPROPSET rgPropertySets[],
  84. [out, iid_is(riid)] IUnknown ** ppRowset
  85. );
  86. [call_as(GetRowset)]
  87. HRESULT RemoteGetRowset(
  88. [in] IUnknown * pUnkOuter,
  89. [in] REFGUID rguidSchema,
  90. [in] ULONG cRestrictions,
  91. [in, unique, size_is(cRestrictions)] const VARIANT * rgRestrictions,
  92. [in] REFIID riid,
  93. [in] ULONG cPropertySets,
  94. [in, unique, size_is(cPropertySets)] DBPROPSET * rgPropertySets,
  95. [out, iid_is(riid)] IUnknown ** ppRowset,
  96. [in] ULONG cTotalProps,
  97. [out, size_is(cTotalProps)] DBPROPSTATUS * rgPropStatus,
  98. [out] IErrorInfo ** ppErrorInfoRem
  99. );
  100. [local]
  101. HRESULT GetSchemas(
  102. [in, out] ULONG * pcSchemas,
  103. [out, size_is(,*pcSchemas)] GUID ** prgSchemas,
  104. [out, size_is(,*pcSchemas)] ULONG ** prgRestrictionSupport
  105. );
  106. [call_as(GetSchemas)]
  107. HRESULT RemoteGetSchemas(
  108. [in, out] ULONG * pcSchemas,
  109. [out, size_is(,*pcSchemas)] GUID ** prgSchemas,
  110. [out, size_is(,*pcSchemas)] ULONG ** prgRestrictionSupport,
  111. [out] IErrorInfo ** ppErrorInfoRem
  112. );
  113. }