网站大量收购独家精品文档,联系QQ:2885784924

OPCclient在VC环境下编程.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OPCclient在VC环境下编程.doc

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

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档