OPC client 在VC 环境下编程 一.连接 使用到变量的说明 类型 说明 HRESULT 函数返回值,用来检测函数返回值(如:初始化COM 库,查找CLSID,创建OPC 服务等),提供函数执行情况 CLSID 全球唯一标示符,用来确定OPC 服务的标识,从注册表查找获得 LPWSTR LPSTR 和LPWSTR 是Win32 和VC++所使用的一种字符串数据类型。LPSTR 被定义成是一个指向以NULL(‘\0’)结尾的8 位ANSI 字符数组指针,而LPWSTR 是一个指向以NULL 结尾的16 位双字节字符数组指针 OPC 接口说明 IOPCServer *m_IOPCServer; IOPCServer 接口及成员函数主要用于对组对象进行创建,删除,枚 举和获取当前状态等操作.是 OPC 服务器对象的主要接口.接口及成员 IOPCItemMgt *m_IOPCItemMgt; IOPCItemMgt 接口及成员函数用于OPC 客户程序添加、删除 和组对象中组员等控制操作。 IOPCSyncIO *m_IOPCSyncIO; IOPCSy ncIO 用于同步数据访问。 OPCITEMDEF m_Items[1]; OPCITEMDEF 数组,包含着项的存取路径, 定义和被请求的数据类 OPCITEMRESULT *m_ItemResult; OPCITEMRESULT 数组,服务器用来告诉客户关于项的附加的信息(项句柄和规范的数据类型) OPCHANDLE m_GrpSrvHandle; OPC 服务的句柄,在多个函数中都会用到 使用到的函数说明 CoInitializ e(NULL); 初始化COM 库 CoInitialize 是 Windows 提供的API 函数,用来告诉 Windows 以单线程的方式创建com 对象。应用程序调用com 库函数(除CoGetMalloc 和内存分配函数)之前必须初始化com 库。 返回值S_OK : 该线程中 COM 库初始化成功S_FALSE 该线程中 COM 库已经被初始化 CoInitialize () 标明以单线程方式创建。 使用 CoInitialize 创建可 以使对象直 接与 线程连接,得到最 高 的性 能 。 CoInitialize 并不装载COM 库,它只用来初始化当前线程使用什么样的套间。使用这个函数后,线程就和一个套间建立了对应关系。线程的套间模式决定了该线程如何调用COM 对象,是否需要列集等。 CoInitialize ()并不会干扰客户和服务器之间的通信,它所做的事情是让线程注册一个套间,而线程运行过程中必然在此套间。 CoInitialize 和 CoUninitialize 必须成对使用 查找 OPC 服务 CLSIDFromProgID(L"OPC 服务的名称", &clsid); 通过 ProgID,查找注册表中的相关 CLSID 参数:1.服务的名称 2. CLSID 型变量,用来接收注册表中查...