亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? server.h

?? OPC客戶端源代碼
?? H
字號(hào):
// **************************************************************************
// server.h
//
// Description:
//	Defines the CKServer class.
//
// DISCLAIMER:
//	This programming example is provided "AS IS".  As such Kepware, Inc.
//	makes no claims to the worthiness of the code and does not warranty
//	the code to be error free.  It is provided freely and can be used in
//	your own projects.  If you do find this code useful, place a little
//	marketing plug for Kepware in your code.  While we would love to help
//	every one who is trying to write a great OPC client application, the 
//	uniqueness of every project and the limited number of hours in a day 
//	simply prevents us from doing so.  If you really find yourself in a
//	bind, please contact Kepware's technical support.  We will not be able
//	to assist you with server related problems unless you are using KepServer
//	or KepServerEx.
// **************************************************************************


#ifndef _SERVER_H
#define _SERVER_H

class CKGroup;
class IKShutdownSink;


// **************************************************************************
class CKServer : public CObject  
	{
	public:
		// construction/destruction
		CKServer ();
		CKServer (CString &strProgID, CString &strRemoteMachine);

		~CKServer ();

	public:
		// property accessor/manipulators
		void SetProgID (CString &strProgID);
		LPCTSTR GetProgID () {return (m_strProgID);}

		void SetRemoteMachine (CString &strRemoteMachine);
		LPCTSTR GetRemoteMachine () 
			{
			if (m_strRemoteMachine.IsEmpty ())
				return (NULL);

			return (m_strRemoteMachine);
			}

		bool IsConnected () {return (m_bConnected);}
		bool IsKepServerEx () {return (m_bfFlags.bIsKepServerEx);}
		bool IsAlive ();

		// OPC specifics
		bool Connect ();
		bool Connect (CString &strProgID, CString &strRemoteMachine);
		void Disconnect ();

		void ShutdownRequest (LPCTSTR lpszReason);
		
		// serialization / loading project helpers
		virtual void Serialize (CArchive &ar);

		void Start ();
		void Stop ();

		// cut/copy/paste
		void Copy (CFixedSharedFile &sf);
		void Paste (CFixedSharedFile &sf);

		// list management
		void SetPrev (CKServer *pPrev) {m_pPrev = pPrev;}
		CKServer* GetPrev () {return (m_pPrev);}

		void SetNext (CKServer *pNext) {m_pNext = pNext;}
		CKServer* GetNext () {return (m_pNext);}

		// group management
		void AddGroup (CKGroup *pGroup, bool bLoadingProject = false);
		void AddClonedGroup (CKGroup *pClone);

		void RemoveGroup (CKGroup *pGroup, bool bDelete = true);
		void RemoveAllGroups (bool bDelete = true);

		CKGroup* GetGroupHead () {return (m_pGroupHead);}

		bool GenerateGroupName (CString &strName);
		bool FindGroup (LPCTSTR lpszName);
		
		CKGroup* GetGroup (LPCTSTR lpszName);

		// GUI management
		void SetGUIHandle (HTREEITEM hItem) {m_hTreeItem = hItem;}
		HTREEITEM GetGUIHandle () {return (m_hTreeItem);}

		// supported interfaces
		bool IsIServerSupported () {return (m_pIServer != NULL);}
		bool IsICommonSupported () {return (m_pICommon != NULL);}
		bool IsIConnectionPointContainerSupported () {return (m_pIConnPtContainer != NULL);}
		bool IsIItemPropertiesSupported () {return (m_pIItemProps != NULL);}
		bool IsIBrowsingSupported () {return (m_pIBrowse != NULL);}
		bool IsIServerPublicGroupsSupported () {return (m_pIPublicGroups != NULL);}
		bool IsIPersistFileSupported () {return (m_pIPersistFile != NULL);}

		IOPCServer* GetIServer () {return (m_pIServer);}
		IOPCBrowseServerAddressSpace* GetIBrowse () {return (IsAlive () ? m_pIBrowse : NULL);}
		IOPCItemProperties* GetIItemProps () {return (m_pIItemProps);}
	private:
		// OPC specifics
		HRESULT GetCLSID (CLSID &clsid);

	private:
		// properties
		CString m_strProgID;			
		CString m_strRemoteMachine;

		typedef struct _flags
			{
			DWORD bIsKepServerEx			: 1;
			DWORD Reserved					: 31;
			} FLAGS;

		FLAGS m_bfFlags;

		// OPC specifics
		MULTI_QI m_arrMultiQI [7];	// array of interfaces we will query for each server
		
		IOPCServer *m_pIServer;		// interface pointers returned from CoCreateInstanceEx ()
		IOPCCommon *m_pICommon;
		IConnectionPointContainer *m_pIConnPtContainer;
		IOPCItemProperties *m_pIItemProps;
		IOPCBrowseServerAddressSpace *m_pIBrowse;
		IOPCServerPublicGroups *m_pIPublicGroups;
		IPersistFile *m_pIPersistFile;

		IKShutdownSink *m_pIShutdownSink;
		DWORD m_dwCookieShutdownSink;

		bool m_bConnected;			// our connect state

		// list management
		CKServer *m_pPrev;
		CKServer *m_pNext;

		// group management
		CKGroup *m_pGroupHead;
		DWORD m_cdwGroups;

		// GUI management
		HTREEITEM m_hTreeItem;
	};


#endif // _SERVER_H

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合精品| 国产福利精品导航| 婷婷一区二区三区| 久久99精品一区二区三区| 日本人妖一区二区| 亚洲乱码中文字幕综合| 国产精品麻豆视频| 精品卡一卡二卡三卡四在线| 欧美巨大另类极品videosbest | 国产精品欧美一级免费| 久久综合色8888| 欧美成人a∨高清免费观看| 欧美日韩一区二区三区在线看| 成人自拍视频在线观看| 成人激情午夜影院| www.日韩大片| 97se亚洲国产综合在线| 99久久精品免费看国产| 91丨国产丨九色丨pron| 欧美在线视频全部完| 大尺度一区二区| www.视频一区| 色婷婷综合久久久久中文| 欧美主播一区二区三区美女| 欧洲色大大久久| 欧美日韩激情一区二区| 欧美一区二区三区免费大片| 日韩一级黄色大片| 日本一区二区免费在线观看视频| 国产精品久久久久aaaa樱花 | 亚洲男人的天堂在线观看| 亚洲综合久久久| 男男视频亚洲欧美| 国产高清亚洲一区| 97aⅴ精品视频一二三区| 欧美日韩专区在线| 国产亚洲一本大道中文在线| 中文字幕国产一区二区| 性久久久久久久| 成人免费毛片aaaaa**| 欧美日韩一级大片网址| 久久这里都是精品| 亚洲精品美腿丝袜| 成人免费视频播放| 国产欧美日韩一区二区三区在线观看| 丝袜a∨在线一区二区三区不卡 | 欧美肥胖老妇做爰| ...中文天堂在线一区| 成人激情动漫在线观看| 国产欧美一区二区精品性色| 一区二区三区欧美在线观看| 国内精品视频666| 777色狠狠一区二区三区| 一区二区三区成人在线视频| 国产91色综合久久免费分享| 精品国免费一区二区三区| 婷婷夜色潮精品综合在线| 日本高清不卡在线观看| 专区另类欧美日韩| 97久久精品人人做人人爽50路 | 久久久99精品久久| 激情综合色播五月| 2欧美一区二区三区在线观看视频| 天天操天天色综合| 欧美色成人综合| 日本一不卡视频| 日韩欧美激情四射| 激情图片小说一区| 日本一区二区成人| 色琪琪一区二区三区亚洲区| 亚洲视频精选在线| 91麻豆精品国产91久久久久久久久| 亚洲国产aⅴ天堂久久| 91精品国产一区二区三区| 奇米精品一区二区三区在线观看一 | 日韩一区二区免费视频| 激情综合色综合久久综合| 欧美国产乱子伦| 色噜噜狠狠一区二区三区果冻| 亚洲成av人片www| 久久婷婷国产综合精品青草| 成人黄色777网| 日韩激情中文字幕| 国产精品福利一区二区三区| 欧美午夜精品久久久| 国产一区二区三区久久久| 亚洲色图在线播放| 337p日本欧洲亚洲大胆精品 | 色狠狠综合天天综合综合| 欧美aⅴ一区二区三区视频| 国产精品初高中害羞小美女文| 欧美日本在线播放| 大美女一区二区三区| 日韩精品国产精品| 一区二区三区在线观看欧美| 国产日韩欧美制服另类| 欧美一级日韩一级| 日本韩国一区二区三区视频| 日本视频一区二区| 夜夜精品视频一区二区| 国产亚洲成年网址在线观看| 欧美三级电影在线观看| 国产成人精品网址| 国产伦精品一区二区三区免费迷 | 亚洲444eee在线观看| 亚洲免费在线视频一区 二区| 欧美国产精品中文字幕| 欧美大胆人体bbbb| 日韩欧美的一区| www国产成人免费观看视频 深夜成人网| 欧美伊人久久大香线蕉综合69 | 一区二区三区四区不卡视频| 国产精品国产自产拍高清av| 久久久久久久久免费| 日韩女优av电影| 日韩一区和二区| 精品88久久久久88久久久| 精品99一区二区三区| 国产精品视频一区二区三区不卡| 国产色一区二区| 国产精品全国免费观看高清| **欧美大码日韩| 亚洲国产成人高清精品| 日欧美一区二区| 国产在线精品视频| 国产一区二区三区av电影 | 91黄色免费版| 欧美午夜在线观看| 日韩精品一区二区三区四区| 国产女人18水真多18精品一级做| 亚洲欧洲精品一区二区三区 | 色先锋久久av资源部| 欧美日韩免费在线视频| 日韩欧美国产午夜精品| 亚洲精品一线二线三线| 亚洲伦理在线免费看| 免费在线观看成人| 91老师片黄在线观看| 欧美一区二区三区公司| 久久精品无码一区二区三区| 亚洲成年人网站在线观看| 国产自产v一区二区三区c| 欧洲精品视频在线观看| 日韩欧美一区二区免费| 亚洲精品国产精品乱码不99| 日韩精品一二三区| 一本久道久久综合中文字幕| 欧美第一区第二区| 亚洲超丰满肉感bbw| 成人激情小说网站| 国产欧美日韩激情| 久久疯狂做爰流白浆xx| 91精品免费观看| 亚洲最新在线观看| 色综合久久中文综合久久牛| 国产午夜精品久久| 激情图片小说一区| 日韩亚洲欧美一区| 五月天亚洲婷婷| 欧美日韩国产123区| 日韩黄色一级片| 欧美一区二区三区视频免费| 男男视频亚洲欧美| 精品少妇一区二区三区视频免付费 | 亚洲国产中文字幕在线视频综合 | 国产日产精品一区| 国产成人丝袜美腿| 国产欧美精品区一区二区三区 | 麻豆视频一区二区| 日韩美女主播在线视频一区二区三区| 日本人妖一区二区| 欧美美女黄视频| 久久精品国产亚洲5555| 欧美一区二区成人6969| 激情六月婷婷综合| 国产精品女人毛片| 在线观看成人免费视频| 亚洲国产精品自拍| 欧美久久婷婷综合色| 韩国理伦片一区二区三区在线播放| 久久视频一区二区| 岛国一区二区在线观看| 亚洲精品成人在线| 欧美日韩成人综合在线一区二区| 免费成人av在线播放| 国产三级一区二区| 91福利视频久久久久| 国产一区二区在线看| 136国产福利精品导航| 5月丁香婷婷综合| 国产馆精品极品| 亚洲线精品一区二区三区| 精品蜜桃在线看| 欧美三级在线视频| 成人黄色综合网站| 久久精品国产免费| 一区二区三区欧美日韩| 国产精品无人区| 久久久亚洲精品一区二区三区| 99久久久国产精品免费蜜臀|