Opccomn.idl

xiaoxiao2021-03-06  43

OPC Technology Forum http://www.opc-china.com OPC server, customer program technology discussion // revision: 04/06/98 08:00 PM (EST) // VersionInfo 1.0.0.0// // 04/09 / 98 ACC IMPORT UNKNWN.IDL Rather Than OAIDL.IDL // 06/15/98 ACC Add 'Library' Object At End To Allow Typelib Generation // 06/19/98 ACC Change V2 Uuids Prior To Final Release // TO AVOID Conflict with 'OPCDA Automation Uuids // 09/18/98 ACC Add OPCServerList IDL (with help from gary klassen) // import "unknwn.idl"; import "comcat.idl";

// ******************************************************** **** // all servers except opcda1.0 Have the Ability to // make callbacks in // ipcshutdown // ******************************** ********************************** [Object, UUID (F31DFDE1-07B6-11D2-B2D8-0060083BA1FB), Pointer_Default (UNIQUE)] Interface Iopcshutdown: iunknown {HRESULT SHUTDOWNREQUEST ([IN, String] lpcwstr szreason);

// ******************************************************** **** // all servers except opcda1.0 support ipport IOPCCMMON // ******************************************************* ****************** [Object, UUID (F31DFDE2-07B6-11D2-B2D8-0060083BA1FB), Pointer_Default (unique)] Interface IOPCCCMMON: IUNKNOWN {

HRESULT SETLOCALEID ([in] LCID DWLCID);

HRESULT GETLOCALEID ([OUT] LCID * PDWLCID);

HRESULT QueryavailableLocaleIDS ([OUT] DWORD * PDWCOUNT, [OUT, SIZE_IS (, * PDWCOUNT)] LCID ** PDWLCID);

HRESULT GETERRORSTRING ([in] HRESULT DWERROR, [OUT, STRING] LPWSTR * PPSTRING);

HRESULT SETCLIENTNAME ([IN, String] lpcwstr szname;

}

// ******************************************************** **** // the opcenum.exe Object provided by the opc Foundation // supports The IOPCSERVERLIST Interface Via DCOM // TO Allow Clients To DTERMINE AVAILABLE OPC Servers // On Remote Machines // ********* ****************************************** [Object, UUID (13486D50- 4821-11D2-A494-3CB306C10000), pointer_default (unique)] interface IOPCServerList: IUnknown {HRESULT EnumClassesOfCategories ([in] ULONG cImplemented, [in, size_is (cImplemented)] CATID rgcatidImpl [], [in] ULONG cRequired, [in, Size_is (crequired) Catid RgcatidReq [], [OUT] IEnumguid ** ppenumclsid;

HRESULT GETCLASSDETAILS ([in] refclsid clsid, [out] lpolestr * ppszprogid, [out] lpolestr * ppszusertype);

HRESULT CLSIDFROGID ([in] lpColestr Szprogid, [OUT] lpclsid CLSID;

// ******************************************************** **** // this Typelib Is Generated As a Convenience To Users of High Level Tools // Which Are Capable of Using OR Browsing TypeLibs. // 'Smart Pointers' In VC5 IS One Example. //************* ***************************************************** [UUID (B28EEDB1 -AC6F-11D1-84D5-00608CB8A7E9), Version (1.0), Helpstring ("OPCComn 1.0 Type Library"] library opccomn {importlib ("stdole32.tlb"); importlib ("stdole2.tlb");

Interface IOPCCCMMON; Interface IopcShutdown; Interface IOPCServerList;

转载请注明原文地址:https://www.9cbs.com/read-71085.html

New Post(0)