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

模拟服务器

开发平台:

C/C++

  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")
  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. };