OPCCOMN.IDL

2023-12-15 11:48
文章标签 idl opccomn

本文主要是介绍OPCCOMN.IDL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OPC技术论坛 http://www.opc-china.com OPC服务器,客户程序技术讨论

// 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 'old' 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 into the client on shutdown via
// IOPCShutdown
//****************************************************
[
  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 IOPCCommon
//****************************************************
[
  object,
  uuid(F31DFDE2-07B6-11d2-B2D8-0060083BA1FB),
  pointer_default(unique)
]
interface IOPCCommon : 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 determine 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 CLSIDFromProgID(
  [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 IOPCCommon;
    interface IOPCShutdown;
 interface IOpcServerList;
};

这篇关于OPCCOMN.IDL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/496347

相关文章

J2EE规范——EJB/RMI/javaIDL

EJB(Enterprise Java Beans)企业级Java Bean      在这个技术规范里面,EJB主要是对服务器端的部署和开发进行标准化,重点理解EJB和容器的关系以及EJB中涉及到的三个bean。(这里看了好多博客,但是都不理解,留在后面的学习加深)。     使用EJB的好处就是:它提供了一个架构来开发和配置到客户端的分布式商业逻辑,可以减少开发扩展性。EJB规范主要

【OpenHarmony IDL工具规格及使用说明书】

OpenHarmony IDL工具规格及使用说明书 IDL接口描述语言简介 当客户端和服务器进行IPC通信时,需要定义双方都认可的接口,以保障双方可以成功通信,OpenHarmony IDL(OpenHarmony Interface Definition Language)则是一种定义此类接口的工具。OpenHarmony IDL先把需要传递的对象分解成操作系统能够理解的基本类型,并根据开发

IDL基础【影像读取-转存数组-输出】

IDL是一门非常适合高分辨率和大量图像数据处理的语言,在envi的安装过程中自带,通过学习IDL,可以实现十分简单的像元运算功能,方便快捷易上手。 学习所有计算语言,入门分为三个内容:数据输入 —— 数据处理 —— 数据输出 IDL也不例外,本文将采用IDL8.5版本,对采用IDL进行图像读取、转换为数组、图像输出三个部分的内容进行讲解 讲解图像读取之前,首先需要了解一下,任何一个IDL脚

[COM]接口描述语言IDL

一、首先要清楚一点,使用IDL只是定义COM接口的一种方法(用C++也可以定义)。 IDL是一种语言,Microsoft Visual C++提供了MIDL工具,可以将IDL文件编译成C/C++兼容的接口描述头文件(.h)。 如下是用IDL写的一个IcwElement接口 [plain]  view plain copy [       object,       uu

新手IDL入门参考汇总

使用IDL能够批处理影像,比使用ENVI高效,虽然IDL语法有些怪异,但上网搜一下,一般改改就能用了,这里汇总了常用的IDL参考知识点,主要有以下几个: 1. IDL常用关键字 链接:IDL常用关键字 2. IDL文件操作 链接:IDL文件操作 3. IDL关系运算符说明 链接:IDL关系运算符 4. IDL批处理时内存释放问题 链接:IDL释放内存   参考这些知识点,基本上

IDL环境栅格文件批量转带地理信息的tiff格式

ENVI+IDL5.3 在IDL中进行栅格运算后,应用raster.Export, outname, ‘tiff’.直接将影像输出,会丢失投影等信息。此时可以用envi_write_envi_file 指定file_type=tiff和map_info,来写出带有投影信息的tiff文件,但这种方法生成tif文件的同时会单独生成一个hdr头文件。 如果想用raster.save方法输出文件,并且

IDL interpol函数插值波谱响应函数

interpol函数介绍 一维数组插值 result=interpol(v,x,xout,/lsquadratic,/quadratic,/spline,/NAN) v为输入的数组,x为v中各个元素对应的横坐标值,xout为插值结果数组中各个元素对应的横坐标值的v值(可参考下面代码中的注释帮助理解)。 /lsquadratic,/quadratic,/spline为插值方法关键字,未设置时默认线

IDL where函数

where函数介绍 函数WHERE()能返回数组中满足指定条件的元素下标 调用格式: Result=Where(数组表达式[,count][,Complement=变量1][,/L64][,NCOMPLEMENT=变量2]) 其中,关键字count返回符合指定条件的元素个数;变量1为不满足条件的数组元素下标;变量2为不满足条件的数组元素个数。 注意:当没有符合条件的元素时,返回值为-1。 wh

Chromium 通过IDL方式添加扩展API,并且在普通网页也可以调用

先严格按照Chromium 通过IDL方式添加扩展API - 知乎、chromium 41 extensions 自定义 api 接口_chromium自定义扩展api-CSDN博客 里提到的方式,加入扩展api。然后最关键的地方来了: 到src\extensions\renderer\native_extension_bindings_system.cc \src\extensions\ren

ActiveX .idl与.odl的区别

.odl和.idl在com中的功能相同.  前者是ActiveX中的 后者是ATL中.  可在前者的文件中 用 #import "XXXXX.idl" 的方式包含后者. 反过来没有试过.  2. When using IDL, you must declare the interfaces that will generate the C++ source files