opccomn.idl
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. // OPCCOMN.IDL
  2. // REVISION:  04/06/98 08:00 PM (EST)
  3. // VERSIONINFO 1.0.0.0
  4. // 
  5. // 04/09/98 acc import unknwn.idl rather than oaidl.idl
  6. // 06/15/98 acc add 'library' object at end to allow typelib generation
  7. // 06/19/98 acc change V2 uuids prior to final release
  8. //              to avoid conflict with 'old' OPCDA Automation uuids
  9. // 09/18/98 acc add OPCServerList IDL (with help from Gary Klassen)
  10. //
  11. #ifdef _WIN32
  12. import "unknwn.idl";
  13. import "comcat.idl";
  14. #else
  15. import "vxidl.idl";
  16. #endif
  17. //****************************************************
  18. // All servers except OPCDA1.0 have the ability to 
  19. // make callbacks into the client on shutdown via
  20. // IOPCShutdown 
  21. //****************************************************
  22. [
  23.   object,
  24.   uuid(F31DFDE1-07B6-11d2-B2D8-0060083BA1FB),
  25.   pointer_default(unique)
  26. ]
  27. interface IOPCShutdown : IUnknown
  28. {
  29.   HRESULT ShutdownRequest (
  30.     [in, string] LPCWSTR szReason
  31.     );
  32. }
  33. //****************************************************
  34. // All servers except OPCDA1.0 support IOPCCommon
  35. //****************************************************
  36. [
  37.   object,
  38.   uuid(F31DFDE2-07B6-11d2-B2D8-0060083BA1FB),
  39.   pointer_default(unique)
  40. ]
  41. interface IOPCCommon : IUnknown
  42. {
  43.   HRESULT SetLocaleID ( 
  44.     [in] LCID dwLcid
  45.     );
  46.   HRESULT GetLocaleID ( 
  47.     [out] LCID *pdwLcid
  48.     );
  49.   HRESULT QueryAvailableLocaleIDs ( 
  50.     [out] DWORD *pdwCount,
  51.     [out, size_is(,*pdwCount)] LCID **pdwLcid
  52.     );
  53.   HRESULT GetErrorString( 
  54.     [in] HRESULT dwError,
  55.     [out, string] LPWSTR *ppString
  56.     );
  57.   HRESULT SetClientName ( 
  58.     [in, string] LPCWSTR szName 
  59.     );
  60. }
  61. //****************************************************
  62. // The OPCEnum.EXE object provided by the OPC Foundation
  63. // supports the IOPCServerList interface via DCOM
  64. // to allow clients to determine available OPC servers
  65. // on remote machines
  66. //****************************************************
  67. [
  68. object,
  69. uuid(13486D50-4821-11D2-A494-3CB306C10000),
  70. pointer_default(unique)
  71. ]
  72. interface IOPCServerList : IUnknown
  73. {
  74. HRESULT EnumClassesOfCategories(
  75. [in] ULONG cImplemented,
  76. [in,size_is(cImplemented)] CATID rgcatidImpl[],
  77. [in] ULONG cRequired,
  78. [in,size_is(cRequired)] CATID rgcatidReq[],
  79. [out] IEnumGUID** ppenumClsid);
  80. HRESULT GetClassDetails(
  81. [in] REFCLSID clsid, 
  82. [out] LPOLESTR* ppszProgID, 
  83. [out] LPOLESTR* ppszUserType);
  84. HRESULT CLSIDFromProgID(
  85. [in] LPCOLESTR szProgId, 
  86. [out] LPCLSID clsid);
  87. };
  88. //****************************************************
  89. // This TYPELIB is generated as a convenience to users of high level tools
  90. // which are capable of using or browsing TYPELIBs. 
  91. // 'Smart Pointers' in VC5 is one example.
  92. //****************************************************
  93. [
  94.     uuid(B28EEDB1-AC6F-11d1-84D5-00608CB8A7E9),
  95.     version(1.0),
  96.     helpstring("OPCCOMN 1.0 Type Library")
  97. ]
  98. library OPCCOMN
  99. {
  100.     importlib("stdole32.tlb");
  101.     importlib("stdole2.tlb");
  102.     interface IOPCCommon;
  103.     interface IOPCShutdown;
  104.     interface IOPCServerList;
  105. };