msdatsrc.idl 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //-----------------------------------------------------------------------------
  2. // File: msdatsrc.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents: Data Source Interfaces for ActiveX Data Binding.
  7. //
  8. // Comments:
  9. //
  10. //-----------------------------------------------------------------------------
  11. cpp_quote("//-----------------------------------------------------------------------------")
  12. cpp_quote("// File: .C or .H file generated by msdatsrc.idl ")
  13. cpp_quote("//")
  14. cpp_quote("// Copyright: Copyright (c) 1998-1999 Microsoft Corporation")
  15. cpp_quote("//")
  16. cpp_quote("// Contents: .C or .H file generated by msdatsrc.idl")
  17. cpp_quote("//")
  18. cpp_quote("// Comments: ")
  19. cpp_quote("//")
  20. cpp_quote("//-----------------------------------------------------------------------------")
  21. #pragma midl_echo("// For non-VC5 compilers")
  22. #pragma midl_echo("#if (_MSC_VER >= 1100) && defined (__cplusplus)")
  23. #pragma midl_echo("#define DECLSPEC_UUID(x) __declspec(uuid(x))")
  24. #pragma midl_echo("#else")
  25. #pragma midl_echo("#define DECLSPEC_UUID(x)")
  26. #pragma midl_echo("#endif")
  27. #pragma midl_echo("")
  28. #pragma midl_echo("// C/C++ interface names")
  29. #pragma midl_echo("#define IDataSource DataSource")
  30. #pragma midl_echo("#define IDataSourceListener DataSourceListener")
  31. #pragma midl_echo("")
  32. #pragma midl_echo("// Component category guids")
  33. #pragma midl_echo("EXTERN_C const IID CATID_DataSource;")
  34. #pragma midl_echo("EXTERN_C const IID CATID_DataConsumer;")
  35. [
  36. uuid(7c0ffab0-cd84-11d0-949a-00a0c91110ed),
  37. version(1.0),
  38. helpstring("Microsoft Data Source Interfaces")
  39. ]
  40. library MSDATASRC
  41. {
  42. //=--------------------------------------------------------------------------=
  43. // Standard imports
  44. //=--------------------------------------------------------------------------=
  45. importlib("stdole2.tlb");
  46. //=--------------------------------------------------------------------------=
  47. // DataMember typedef
  48. //=--------------------------------------------------------------------------=
  49. typedef [uuid(7c0ffab1-cd84-11d0-949a-00a0c91110ed)] BSTR DataMember;
  50. //=--------------------------------------------------------------------------=
  51. // IDataSourceListener
  52. //=--------------------------------------------------------------------------=
  53. [
  54. uuid(7c0ffab2-cd84-11d0-949a-00a0c91110ed),
  55. odl,
  56. oleautomation,
  57. hidden
  58. ]
  59. interface DataSourceListener : IUnknown
  60. {
  61. [hidden] HRESULT dataMemberChanged([in] DataMember bstrDM);
  62. [hidden] HRESULT dataMemberAdded([in] DataMember bstrDM);
  63. [hidden] HRESULT dataMemberRemoved([in] DataMember bstrDM);
  64. };
  65. //=--------------------------------------------------------------------------=
  66. // IDataSource
  67. //=--------------------------------------------------------------------------=
  68. [
  69. uuid(7c0ffab3-cd84-11d0-949a-00a0c91110ed),
  70. oleautomation,
  71. odl
  72. ]
  73. interface DataSource : IUnknown
  74. {
  75. [hidden, restricted] HRESULT getDataMember([in] DataMember bstrDM, [in] REFIID riid, [out, retval] IUnknown** ppunk);
  76. [hidden] HRESULT getDataMemberName([in] long lIndex, [out, retval] DataMember* pbstrDM);
  77. [hidden] HRESULT getDataMemberCount([out, retval] long* plCount);
  78. [hidden] HRESULT addDataSourceListener([in] DataSourceListener* pDSL);
  79. [hidden] HRESULT removeDataSourceListener([in] DataSourceListener* pDSL);
  80. };
  81. };