📄 serverinfoview.h
字号:
#if !defined(AFX_SERVERINFOVIEW_H__EF2D56EF_FB4E_4B6F_B88D_512911B01DD4__INCLUDED_)
#define AFX_SERVERINFOVIEW_H__EF2D56EF_FB4E_4B6F_B88D_512911B01DD4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ServerInfoView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CServerInfoView form view
#ifndef __AFXEXT_H__
#include <afxext.h>
#endif
#include "InfoFormView.h"
#include "ConnectionPoint.h"
#include "IAdvSink.hpp"
//#include <Afxtempl.h>
class OPCServerInfo
{
public:
OPCServerInfo( LPOLESTR ProgID, LPOLESTR Description, CLSID& clsid )
: m_ProgID(ProgID), m_Description(Description), m_clsid(clsid) {}
CString m_ProgID;
CString m_Description;
CLSID m_clsid;
CString m_nodeName;//网络中节点(机器)名
HTREEITEM m_indexItem;//将由此找到对应的前面信息.
};
typedef CTypedPtrList<CPtrList, OPCServerInfo*> OPCServerList;
class CServerInfoView : public CFormView
{
protected:
CServerInfoView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CServerInfoView)
// Form Data
public:
//{{AFX_DATA(CServerInfoView)
enum { IDD = IDD_SERVER_INFO };
CTreeCtrl m_server;
//}}AFX_DATA
// Attributes
public:
CImageList *m_pImageList;//记录图标符号server
HTREEITEM m_hRoot1,m_hRoot2;//根
HTREEITEM m_hLocalDA1,m_hLocalDA2;//本地1.0Server,2.0Server
HTREEITEM m_hRemoteDA1,m_hRemoteDA2;//远端1.0Server,2.0Server
CStringList m_strNodeList;//网络上所有的计算机。包括本机接点。
CString m_strLocalName;//本机节点名。
CInfoFormView *m_pInfoForm;//指示信息列表框.
//OPC
OPCServerList m_vServers;//1.0&2.0
BOOL m_bHaveOPCConnected;//已经有连接的OPC
OPCServer opcServer;// the connected server
OPCGroupStateMgt opcGroup; // the single group on this server
// OPC 1.0 IDataObject
DWORD dwConnection1;
DWORD dwConnection2;
OPCHANDLE groupHandle;
CAdviseSink* testSink;
// OPC 2.0 ConnectionPoint
OPCCallback* callbackCP;
OPCShutdown* shutdownCP;
DWORD dwShutdownConnection;
BOOL usingCP;
// Operations
public:
void InitRootInfo(void);//初始化
BOOL EnumerateNodes(LPNETRESOURCE lpnr);//找出网络上所有计算机
CInfoFormView *GetInfoFormView();//通过父窗口找到信息显示列表框.
OPCServerInfo *GetSelectedServerInfo(void);//找到当前选择的OPC服务器的信息.
//OPC
BOOL GetOPCServers10(LPTSTR node = NULL);
BOOL GetOPCServers20(LPTSTR node,CLSID);
void ReleaseAllResource(void);//释放所有资源
BOOL FindThisCLSID(CString,CLSID);//是否已经存在.
HTREEITEM AddV1ItemToTree(OPCServerInfo);//将1.0的DA加到树中
HTREEITEM AddV2ItemToTree(OPCServerInfo);//将2.0的DA加到树中
BOOL ConnectOPCServer(OPCServerInfo*);//连接OPC服务器
void SetConnectPoint(void); //设置连接点。
void DisconnectOPCServer(BOOL);//断开OPC服务器.
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServerInfoView)
public:
virtual void OnInitialUpdate();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CServerInfoView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
//{{AFX_MSG(CServerInfoView)
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnNetInfo();
afx_msg void OnServerCon();
afx_msg void OnUpdateServerCon(CCmdUI* pCmdUI);
afx_msg void OnSelchangedTreeServer(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnServerInterupt();
afx_msg void OnUpdateServerInterupt(CCmdUI* pCmdUI);
afx_msg void OnGroupPara();
afx_msg void OnUpdateGroupPara(CCmdUI* pCmdUI);
afx_msg void OnServerStatus();
afx_msg void OnUpdateServerStatus(CCmdUI* pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SERVERINFOVIEW_H__EF2D56EF_FB4E_4B6F_B88D_512911B01DD4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -