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

模拟服务器

开发平台:

C/C++

  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. }