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

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

?? form1.cs

?? OPC 開發(fā)工具包2.0.OPC工具包是用來簡(jiǎn)化OPC規(guī)范服務(wù)器開發(fā)的工具包
?? CS
?? 第 1 頁 / 共 2 頁
字號(hào):
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

class tag
{
	public uint handle;
	public string name;
	public object value;
	public ushort quality;
	public long timeStamp;

	public tag(string pName) 
	{
		handle=0;
		quality=0;
		value=0;
		timeStamp=DateTime.Now.ToFileTime();
		name=pName;
	}
}
namespace DAS_CSDEMO
{
	unsafe public delegate void WRITECALLBACK(uint handle, object value, ref int errorCode);
	unsafe public delegate void WRITECALLBACKEX(uint handle, uint propertyID, object value, ref int errorCode);
	unsafe public delegate void READCALLBACK(uint handle,ref object value, ref ushort quality,ref long timeStamp,ref int errorCode);
	unsafe public delegate void READCALLBACKEX(uint handle, uint propertyID, ref object value, ref ushort quality,ref long timeStamp,ref int errorCode);
	unsafe public delegate void SERVERNOTIFY(uint handle, ushort operationType);
	unsafe public delegate void GROUPNOTIFY(uint handle, string groupName, ushort operationType);
	unsafe public delegate void ITEMNOTIFY(uint handle, uint tagHandle,ushort operationType);
	unsafe public delegate void TAGNOTIFY(string tagName, string tagAccessPath, uint* tagHandle);
	unsafe public delegate void LOGNOTIFY(string logMsg);


	/// <summary>
	/// Form1 的摘要說明。
	/// </summary>
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.MainMenu mainMenu1;
		private System.Windows.Forms.MenuItem mnFile;
		private System.Windows.Forms.MenuItem mnRegister;
		private System.Windows.Forms.MenuItem mnUnregister;
		private System.Windows.Forms.MenuItem menuItem1;
		private System.Windows.Forms.MenuItem mnExit;
		private System.Windows.Forms.MenuItem mnHelp;
		private System.Windows.Forms.MenuItem mnAbout;
		private System.Windows.Forms.Timer timer1;
		private System.Windows.Forms.StatusBar statusBar1;
		private System.Windows.Forms.StatusBarPanel statusBarPanel1;
		private System.Windows.Forms.StatusBarPanel statusBarPanel2;
		private System.Windows.Forms.StatusBarPanel statusBarPanel3;
		private System.Windows.Forms.TreeView treeView1;
		private System.Windows.Forms.Splitter splitter1;
		private System.Windows.Forms.ListView listView1;
		private System.ComponentModel.IContainer components;
		private const string ClassID = "{E01F7DF1-6311-48b5-A1A5-E4B3B9C933F2}";
		private const string ProgID = "OPC.ASCSDEMO.1";
		private const string Desc = "OPC ASCSDEMO 1";
		private ArrayList tagList;
		private int seed, cntCount=0;

		private WRITECALLBACK m_writeCallback;
		private READCALLBACK m_readCallback;
		private System.Windows.Forms.ColumnHeader columnHeader1;
		private System.Windows.Forms.ColumnHeader columnHeader2;
		private System.Windows.Forms.ColumnHeader columnHeader3;
		private System.Windows.Forms.ColumnHeader columnHeader4;
		private SERVERNOTIFY m_serverNotify;

		
		[DllImport("ASOPCDA.dll")]
		public static extern bool RegServer(string classID, string progID, string desc, string path);
		[DllImport("ASOPCDA.dll")]
		public static extern bool UnregServer(string classID, string progID);
		[DllImport("ASOPCDA.dll")]
		public static extern bool CreateServer(string classID, uint updateRate);
		[DllImport("ASOPCDA.dll")]
		public static extern void FreeServer();
		[DllImport("ASOPCDA.dll")]
		public static extern bool CreateServer(string userID, string passWord);
		[DllImport("ASOPCDA.dll")]
		public static extern void ShutDown();
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetServerState(ushort serverState);
		[DllImport("ASOPCDA.dll")]
		public static extern void SetVersion(string vendor, ushort majorVersion, ushort minorVersion, ushort buildNumber);
		[DllImport("ASOPCDA.dll")]
		public static extern uint RegTag(uint parentHandle,string tagName, object value, ushort quality, ushort accessRight);
		[DllImport("ASOPCDA.dll")]
		public static extern uint RegTagEx(uint parentHandle,string tagName, ushort dataType, ushort accessRight);
		[DllImport("ASOPCDA.dll")]
		public static extern bool UnregTag(uint handle);
		[DllImport("ASOPCDA.dll")]
		public static extern bool AddTagProperty(uint handle, string propertyName, string propertyDesc, object propertyValue);
		[DllImport("ASOPCDA.dll")]
		public static extern bool AddTagPropertyEx(uint handle, string propertyName, string propertyDesc, ushort dataType);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetTagQualifier(char qualifier);
		[DllImport("ASOPCDA.dll")]
		public static extern bool UpdateTag(uint handle, object value, ushort quality);
		[DllImport("ASOPCDA.dll")]
		public static extern bool UpdateTagWithTimeStamp(uint handle, object value, ushort quality, long TimeStamp);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetTagProperty(uint handle, uint propertyID, object value);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetWriteCallback(WRITECALLBACK lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetWriteCallbackEx(WRITECALLBACKEX lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetReadCallback(READCALLBACK lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetReadCallbackEx(READCALLBACKEX lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetServerNotify(SERVERNOTIFY lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetGroupNotify(GROUPNOTIFY lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetItemNotify(ITEMNOTIFY lpCallback);
		[DllImport("ASOPCDA.dll")]
		public static extern bool SetLogNotify(LOGNOTIFY lpCallback);

		unsafe public void WriteCallback(uint handle, object value, ref int errorCode)
		{
			errorCode=1;
			foreach(tag Tag in tagList)
			{
				if(Tag.handle==handle)
				{
					Tag.value=value;
					Tag.quality=192;
					Tag.timeStamp=DateTime.Now.ToFileTime();
					UpdateTagWithTimeStamp(Tag.handle, Tag.value, Tag.quality, Tag.timeStamp);
					errorCode=0;
					Monitor();
					break;
				}
			}
		}

		unsafe public  void ReadCallback(uint handle, ref object value, ref ushort quality, ref long timeStamp,ref int errorCode)
		{
			errorCode=1;
			foreach(tag Tag in tagList)
			{
				if(Tag.handle==handle)
				{
					value=Tag.value;
					quality=Tag.quality;
					timeStamp=Tag.timeStamp;
					errorCode=0;
					break;
				}
			}
		}

		unsafe public void ServerNotify(uint handle, ushort operationType)
		{
			if(operationType==0)
				cntCount++;
			else
				cntCount--;
			if(cntCount<=0)
				Close();
		}

		public Form1()
		{
			//
			// Windows 窗體設(shè)計(jì)器支持所必需的
			//
			InitializeComponent();

			//
			// TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼
			//
		}

		/// <summary>
		/// 清理所有正在使用的資源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows 窗體設(shè)計(jì)器生成的代碼
		/// <summary>
		/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
		/// 此方法的內(nèi)容。
		/// </summary>
		private void InitializeComponent()
		{
			this.components = new System.ComponentModel.Container();
			this.mainMenu1 = new System.Windows.Forms.MainMenu();
			this.mnFile = new System.Windows.Forms.MenuItem();
			this.mnRegister = new System.Windows.Forms.MenuItem();
			this.mnUnregister = new System.Windows.Forms.MenuItem();
			this.menuItem1 = new System.Windows.Forms.MenuItem();
			this.mnExit = new System.Windows.Forms.MenuItem();
			this.mnHelp = new System.Windows.Forms.MenuItem();
			this.mnAbout = new System.Windows.Forms.MenuItem();
			this.timer1 = new System.Windows.Forms.Timer(this.components);
			this.statusBar1 = new System.Windows.Forms.StatusBar();
			this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
			this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel();
			this.statusBarPanel3 = new System.Windows.Forms.StatusBarPanel();
			this.treeView1 = new System.Windows.Forms.TreeView();
			this.splitter1 = new System.Windows.Forms.Splitter();
			this.listView1 = new System.Windows.Forms.ListView();
			this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
			this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
			((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();
			((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit();
			((System.ComponentModel.ISupportInitialize)(this.statusBarPanel3)).BeginInit();
			this.SuspendLayout();
			// 
			// mainMenu1
			// 
			this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																					  this.mnFile,
																					  this.mnHelp});
			// 
			// mnFile
			// 
			this.mnFile.Index = 0;
			this.mnFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																				   this.mnRegister,
																				   this.mnUnregister,
																				   this.menuItem1,
																				   this.mnExit});
			this.mnFile.Text = "&File";
			// 
			// mnRegister
			// 
			this.mnRegister.Index = 0;
			this.mnRegister.Text = "&Register Server";
			this.mnRegister.Click += new System.EventHandler(this.mnRegister_Click);
			// 
			// mnUnregister
			// 
			this.mnUnregister.Index = 1;
			this.mnUnregister.Text = "&Unregister Server";
			this.mnUnregister.Click += new System.EventHandler(this.mnUnregister_Click);
			// 
			// menuItem1
			// 
			this.menuItem1.Index = 2;
			this.menuItem1.Text = "-";
			// 
			// mnExit
			// 
			this.mnExit.Index = 3;
			this.mnExit.Text = "E&xit";
			this.mnExit.Click += new System.EventHandler(this.mnExit_Click);
			// 
			// mnHelp
			// 
			this.mnHelp.Index = 1;
			this.mnHelp.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																				   this.mnAbout});
			this.mnHelp.Text = "&Help";
			// 
			// mnAbout
			// 
			this.mnAbout.Index = 0;
			this.mnAbout.Text = "&About...";
			// 
			// timer1
			// 
			this.timer1.Interval = 1000;
			this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
			// 
			// statusBar1
			// 
			this.statusBar1.Location = new System.Drawing.Point(0, 411);
			this.statusBar1.Name = "statusBar1";
			this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
																						  this.statusBarPanel1,
																						  this.statusBarPanel2,
																						  this.statusBarPanel3});
			this.statusBar1.ShowPanels = true;
			this.statusBar1.Size = new System.Drawing.Size(632, 22);
			this.statusBar1.TabIndex = 3;
			this.statusBar1.Text = "statusBar1";
			// 
			// statusBarPanel1
			// 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美无砖砖区免费| 一本大道久久精品懂色aⅴ| 国产精品久久久久一区| 欧美日韩国产小视频| 精彩视频一区二区| 亚洲国产日日夜夜| 日本一区二区视频在线观看| 欧美久久久影院| 97国产一区二区| 国产一区二区三区香蕉| 亚洲一区二区免费视频| 国产精品久久久久久福利一牛影视| 欧美肥妇毛茸茸| 99久久99久久综合| 国产成人超碰人人澡人人澡| 日韩黄色小视频| 亚洲综合网站在线观看| 国产精品午夜电影| 精品美女一区二区| 7777精品伊人久久久大香线蕉 | 久久精品国产精品亚洲综合| 日韩理论电影院| 国产午夜亚洲精品羞羞网站| 欧美日韩精品二区第二页| 99视频有精品| 成人午夜激情视频| 国内外精品视频| 喷水一区二区三区| 日韩专区一卡二卡| 亚洲免费av观看| 亚洲欧美色一区| 亚洲丝袜制服诱惑| 中文字幕一区日韩精品欧美| 国产校园另类小说区| 一区二区三区不卡在线观看 | 中文字幕一区二区三中文字幕| 制服丝袜成人动漫| 欧美色偷偷大香| 欧美午夜精品免费| a美女胸又www黄视频久久| 成人在线视频一区二区| 粉嫩久久99精品久久久久久夜| 国产精品影视天天线| 国内精品在线播放| 国产精品一区免费在线观看| 国产一区二区三区在线观看精品 | 亚洲第一成年网| 日韩专区欧美专区| 久久国产乱子精品免费女| 精品写真视频在线观看| 国产一区三区三区| 懂色一区二区三区免费观看| 成人黄色片在线观看| 91网站黄www| 欧美三区免费完整视频在线观看| 欧美视频精品在线| 日韩午夜在线观看| 久久婷婷国产综合国色天香| 中文在线资源观看网站视频免费不卡| 中文一区二区在线观看| 亚洲日本中文字幕区| 亚洲一区二区在线视频| 免费成人性网站| 国产成人免费视频一区| 日本不卡一二三| 国产一区二区三区四| 成人av电影免费在线播放| 91美女视频网站| 欧美精选一区二区| 国产亚洲精品中文字幕| 1024亚洲合集| 91久久精品国产91性色tv| 欧美日韩和欧美的一区二区| 精品剧情在线观看| 国产精品国产三级国产普通话蜜臀| 亚洲精品va在线观看| 麻豆一区二区在线| 北岛玲一区二区三区四区| 欧美三级电影网| 国产亚洲欧美中文| 亚洲伦在线观看| 久久激情五月婷婷| 成人国产精品免费观看视频| 欧美视频中文一区二区三区在线观看| 日韩一区二区在线看片| 中文字幕亚洲一区二区av在线 | 久久爱另类一区二区小说| www.激情成人| 日韩片之四级片| 亚洲人精品一区| 韩国一区二区视频| 欧美日韩国产综合久久 | 亚洲欧洲精品一区二区三区| 午夜电影一区二区三区| 成人av免费在线播放| 日韩欧美国产1| 亚洲精品视频在线观看免费| 韩国女主播成人在线| 欧美色图12p| 国产精品动漫网站| 国产美女娇喘av呻吟久久 | 久久精品欧美一区二区三区不卡| 亚洲综合视频网| 丁香六月久久综合狠狠色| 日韩视频在线永久播放| 亚洲精品你懂的| 国产高清久久久久| 日韩欧美一级二级三级久久久| 自拍偷自拍亚洲精品播放| 国产主播一区二区三区| 制服丝袜中文字幕一区| 亚洲精选视频在线| 国产 日韩 欧美大片| 精品少妇一区二区三区在线播放 | 成人精品视频一区| 日韩免费一区二区| 五月天亚洲婷婷| 欧美在线小视频| 国产成人一区在线| 日韩女优制服丝袜电影| 午夜免费久久看| 欧美性大战xxxxx久久久| 成人欧美一区二区三区视频网页| 韩国成人精品a∨在线观看| 欧美久久久久中文字幕| 亚洲成精国产精品女| 91久久精品日日躁夜夜躁欧美| 中文字幕一区二区三区不卡在线 | 色婷婷狠狠综合| 国产精品久久久久一区| 成人午夜在线播放| 国产欧美视频在线观看| 国产精品一级黄| 国产日韩高清在线| 国产sm精品调教视频网站| 精品久久一二三区| 国产一区二区三区日韩| 久久久久久久久伊人| 国产精品资源网| 久久久久亚洲综合| 成人免费视频视频在线观看免费 | 国产婷婷色一区二区三区四区| 激情六月婷婷久久| 久久一区二区三区四区| 国产精品综合在线视频| 国产女人水真多18毛片18精品视频| 国产精品中文字幕欧美| 国产欧美一区二区三区在线看蜜臀| 国产黄人亚洲片| 国产精品成人免费精品自在线观看| 成人sese在线| 一区二区三区高清不卡| 欧美人与z0zoxxxx视频| 免费在线观看一区二区三区| 精品少妇一区二区三区在线播放 | 91麻豆高清视频| 一区二区三区在线视频免费观看| 欧美最新大片在线看| 免费在线观看视频一区| 久久青草国产手机看片福利盒子| 国产**成人网毛片九色| 自拍偷在线精品自拍偷无码专区| 国产精品电影一区二区| 日本高清不卡一区| 日本成人在线视频网站| 国产日韩亚洲欧美综合| 色综合天天综合网天天看片| 视频一区二区三区入口| 久久久久国产精品麻豆ai换脸 | 精品乱人伦一区二区三区| 国产成人综合自拍| 亚洲激情图片一区| 日韩欧美一二区| 91香蕉视频污在线| 日韩精品电影一区亚洲| 中文字幕欧美国产| 欧美日韩国产片| 国产麻豆精品在线观看| 亚洲专区一二三| 精品国免费一区二区三区| 91小视频免费观看| 韩国女主播一区| 亚洲一区电影777| 欧美经典一区二区三区| 欧美色视频在线| 处破女av一区二区| 日本免费在线视频不卡一不卡二| 国产精品美女久久久久久| 欧美一区二区在线不卡| 成人黄色在线看| 久久99精品一区二区三区| 亚洲精选一二三| 国产女人18水真多18精品一级做 | 欧美激情综合五月色丁香小说| 在线观看日韩av先锋影音电影院| 国产精品一区二区在线看| 午夜欧美电影在线观看| 日韩理论片一区二区| 久久久一区二区三区捆绑**| 欧美猛男超大videosgay|