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

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------------------------------------------
  2. // File: dbinfo.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(0c733a89-2a1c-11ce-ade5-00aa0044773d)
  14. interface IDBInfo : IUnknown {
  15. typedef DWORD DBLITERAL;
  16. enum DBLITERALENUM {
  17. DBLITERAL_INVALID =0,
  18. DBLITERAL_BINARY_LITERAL =1,
  19. DBLITERAL_CATALOG_NAME =2,
  20. DBLITERAL_CATALOG_SEPARATOR =3,
  21. DBLITERAL_CHAR_LITERAL =4,
  22. DBLITERAL_COLUMN_ALIAS =5,
  23. DBLITERAL_COLUMN_NAME =6,
  24. DBLITERAL_CORRELATION_NAME =7,
  25. DBLITERAL_CURSOR_NAME =8,
  26. DBLITERAL_ESCAPE_PERCENT =9,
  27. DBLITERAL_ESCAPE_UNDERSCORE =10,
  28. DBLITERAL_INDEX_NAME =11,
  29. DBLITERAL_LIKE_PERCENT =12,
  30. DBLITERAL_LIKE_UNDERSCORE =13,
  31. DBLITERAL_PROCEDURE_NAME =14,
  32. DBLITERAL_QUOTE =15,
  33. DBLITERAL_SCHEMA_NAME =16,
  34. DBLITERAL_TABLE_NAME =17,
  35. DBLITERAL_TEXT_COMMAND =18,
  36. DBLITERAL_USER_NAME =19,
  37. DBLITERAL_VIEW_NAME =20,
  38. };
  39. cpp_quote("//@@@+ V2.0")
  40. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  41. cpp_quote("#define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE")
  42. enum DBLITERALENUM20 {
  43. DBLITERAL_CUBE_NAME =21,
  44. DBLITERAL_DIMENSION_NAME =22,
  45. DBLITERAL_HIERARCHY_NAME =23,
  46. DBLITERAL_LEVEL_NAME =24,
  47. DBLITERAL_MEMBER_NAME =25,
  48. DBLITERAL_PROPERTY_NAME =26,
  49. DBLITERAL_SCHEMA_SEPARATOR =27,
  50. DBLITERAL_QUOTE_SUFFIX =28,
  51. };
  52. cpp_quote("#endif // OLEDBVER >= 0x0200")
  53. cpp_quote("//@@@- V2.0")
  54. cpp_quote("//@@@+ V2.1")
  55. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  56. cpp_quote("#define DBLITERAL_ESCAPE_PERCENT_PREFIX DBLITERAL_ESCAPE_PERCENT")
  57. cpp_quote("#define DBLITERAL_ESCAPE_UNDERSCORE_PREFIX DBLITERAL_ESCAPE_UNDERSCORE")
  58. enum DBLITERALENUM21 {
  59. DBLITERAL_ESCAPE_PERCENT_SUFFIX = 29,
  60. DBLITERAL_ESCAPE_UNDERSCORE_SUFFIX =30,
  61. };
  62. cpp_quote("#endif // OLEDBVER >= 0x0210")
  63. cpp_quote("//@@@- V2.1")
  64. typedef struct tagDBLITERALINFO {
  65. LPOLESTR pwszLiteralValue;
  66. LPOLESTR pwszInvalidChars;
  67. LPOLESTR pwszInvalidStartingChars;
  68. DBLITERAL lt;
  69. BOOL fSupported;
  70. ULONG cchMaxLen;
  71. } DBLITERALINFO;
  72. [local]
  73. HRESULT GetKeywords(
  74. [out] LPOLESTR * ppwszKeywords
  75. );
  76. [call_as(GetKeywords)]
  77. HRESULT RemoteGetKeywords(
  78. [in, out, unique] LPOLESTR * ppwszKeywords,
  79. [out] IErrorInfo ** ppErrorInfoRem
  80. );
  81. [local]
  82. HRESULT GetLiteralInfo(
  83. [in] ULONG cLiterals,
  84. [in, size_is(cLiterals)] const DBLITERAL rgLiterals[],
  85. [in, out] ULONG * pcLiteralInfo,
  86. [out, size_is(,*pcLiteralInfo)] DBLITERALINFO ** prgLiteralInfo,
  87. [out] OLECHAR ** ppCharBuffer
  88. );
  89. [call_as(GetLiteralInfo)]
  90. HRESULT RemoteGetLiteralInfo(
  91. [in] ULONG cLiterals,
  92. [in, unique, size_is(cLiterals)] const DBLITERAL *rgLiterals,
  93. [in, out] ULONG * pcLiteralInfo,
  94. [out, size_is(,*pcLiteralInfo)] DBLITERALINFO ** prgLiteralInfo,
  95. [out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgLVOffsets,
  96. [out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgICOffsets,
  97. [out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgISCOffsets,
  98. [in, out] ULONG * pcbCharBuffer,
  99. [in, out, unique, size_is(,*pcbCharBuffer)] OLECHAR ** ppCharBuffer,
  100. [out] IErrorInfo ** ppErrorInfoRem
  101. );
  102. }