如何让OPC服务器在WinCE平台上支持组件分类的功能 点击:840 | 回复:0



opcfan

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:62帖 | 58回
  • 年度积分:0
  • 历史总积分:667
  • 注册:2004年9月29日
发表于:2007-02-19 13:06:00
楼主

E-Mail:zhan826@163.com
MSN:zhan826@hotmail.com
QQ:10167223

在Win32平台上的服务器程序可以组件分类作为注册表的一部分内容,这样允许客户程序更加方便地浏览OPC服务器,目前WinCE平台(一种嵌入式控制器的操作系统)并不提供该功能,直接原因是没有办法移植OPCEnum.exe到WinCE平台上。要让OPC服务器在WinCE平台上支持组件分类的功能,就势必自己重写OPCEnum.exe的程序。

OPCEnum.exe本质上也是一个COM组件,有以下接口:ICatRegister和ICatInformation。其成员函数分别如下:
// ICatRegister

        virtual HRESULT STDMETHODCALLTYPE RegisterCategories( 
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATEGORYINFO __RPC_FAR rgCategoryInfo[  ]);
        
        virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories( 
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATID __RPC_FAR rgcatid[  ]);
        
        virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories( 
            /* [in] */ REFCLSID rclsid,
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATID __RPC_FAR rgcatid[  ]);
        
        virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories( 
            /* [in] */ REFCLSID rclsid,
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATID __RPC_FAR rgcatid[  ]);
        
        virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories( 
            /* [in] */ REFCLSID rclsid,
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATID __RPC_FAR rgcatid[  ]);
        
        virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories( 
            /* [in] */ REFCLSID rclsid,
            /* [in] */ ULONG cCategories,
            /* [size_is][in] */ CATID __RPC_FAR rgcatid[  ]);

// ICatInformation
        virtual HRESULT STDMETHODCALLTYPE EnumCategories( 
            /* [in] */ LCID lcid,
            /* [out] */ IEnumC


热门招聘
相关主题

官方公众号

智造工程师