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

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

?? connectionpoint.cpp

?? 一個(gè)opc服務(wù)器
?? CPP
字號(hào):
//**************************************************************************
//
//  Copyright (c) FactorySoft, INC. 1996-1998, All Rights Reserved
//
//**************************************************************************
//
//  Filename   :  ConnectionPoint.cpp
//  $Author    :  Jim Hansen
//
//  Description:  Callback class for OPC Data Access 2.0
//
//
//**************************************************************************
#include "stdafx.h"
#include "mexOPC.h"
#include "OPC ClientDoc.h"
#include <afxmt.h>
CComModule _Module;  // just needed to keep ATL happy
extern OPCClientDoc* pDoc;
double DoubleItemValue[1000];
CString CStringItemValue[1000]={""};
extern CArray<Item*,Item*> clientitems1;
CEvent * event = new CEvent;
//**************************************************************************
// Called by the server at the update rate when data changes
STDMETHODIMP OPCCallback::OnDataChange(
                                    DWORD       Transid,
                                    OPCHANDLE   grphandle,
                                    HRESULT     masterquality,
                                    HRESULT     mastererror,
                                    DWORD       count,
                                    OPCHANDLE * clienthandles,
                                    VARIANT   * values,
                                    WORD      * quality,
                                    FILETIME  * time,
                                    HRESULT   * errors)
{
	    for( DWORD index=0; index<count; index++ )
	  {
         if( SUCCEEDED(errors[index]) )
		 {
            Item* pItem = (Item*)clienthandles[index];
            if( pItem )
			{
            pItem->value = values[index];
            pItem->quality = quality[index];
            pItem->timestamp = time[index];

			}
		 }
	  }
	  int n1 =clientitems1.GetSize();
		 for(int i=0;i<n1;i++)
		{
		     switch (clientitems1[i]->value.vt)
			 {
 		      case VT_I2:		//SHORT
				  {
	                 DoubleItemValue[i] = double(clientitems1.ElementAt(i)->value.iVal);
 		             break;
				  }
 	              case VT_I4:		//LONG
					  {
		             DoubleItemValue[i]  = double(clientitems1.ElementAt(i)->value.iVal);
 		             break;
					  }
 	              case VT_R4:		//Float
					  {
	                 DoubleItemValue[i]  = double(clientitems1.ElementAt(i)->value.fltVal);
 		             break;
					  }
 	              case VT_R8:		//Double
					  {
    	             DoubleItemValue[i]  = double(clientitems1.ElementAt(i)->value.dblVal);
 		             break;
					  }
		          case VT_BOOL:
					  {
		             DoubleItemValue[i] =clientitems1.ElementAt(i)->value.boolVal;
		             break;
					  }
                  case VT_UI2:	//WORD
					  {
			         DoubleItemValue[i] =clientitems1.ElementAt(i)->value.uiVal;
		             break;
					  }
	              case VT_UI4:	//DWORD
					  {
			         DoubleItemValue[i] =clientitems1.ElementAt(i)->value.ulVal;
		             break;
					  }
                  case VT_BSTR:	//String
					  {
                     CStringItemValue[i]=clientitems1.ElementAt(i)->value.bstrVal;
		             break;
					  }
			 }
		}
	PostMessage(pDoc->hView, WM_OPCDATA, 0, 0);
	event->SetEvent();
    return S_OK;

}

//**************************************************************************
// Called by the server to complete an ASyncIO2::Read
STDMETHODIMP OPCCallback::OnReadComplete(
                                    DWORD       Transid,
                                    OPCHANDLE   grphandle,
                                    HRESULT     masterquality,
                                    HRESULT     mastererror,
                                    DWORD       count,
                                    OPCHANDLE * clienthandles,
                                    VARIANT   * values,
                                    WORD      * quality,
                                    FILETIME  * time,
                                    HRESULT   * errors)
{
   ASSERT( Transid == 3 ); // test only
   for( DWORD index=0; index<count; index++ )
   {
      if( SUCCEEDED(errors[index]) )
      {
         Item* pItem = (Item*)clienthandles[index];
         if( pItem )
         {
            pItem->value = values[index];
            pItem->quality = quality[index];
            pItem->timestamp = time[index];
         }
      }
   }
   PostMessage(pDoc->hView, WM_OPCDATA, 0, 0);
   return S_OK;
}


//**************************************************************************
// Called by the server to complete an ASyncIO2::Write
STDMETHODIMP OPCCallback::OnWriteComplete(
                                    DWORD       Transid,
                                    OPCHANDLE   grphandle,
                                    HRESULT     mastererr,
                                    DWORD       count,
                                    OPCHANDLE * clienthandles,
                                    HRESULT   * errors)
{
   ASSERT( Transid == 2 ); // test only
   for( DWORD index=0; index<count; index++ )
   {
      if( FAILED(errors[index]) )
      {
         Item* pItem = (Item*)clienthandles[index];
         PostMessage(pDoc->hView, WM_OPCWRITE, errors[index], 0);
      }
   }
   return S_OK;
}


//**************************************************************************
// Called by the server to complete an ASyncIO2::Cancel
STDMETHODIMP OPCCallback::OnCancelComplete(
                                    DWORD       transid,
                                    OPCHANDLE   grphandle)
{
   return S_OK;
}

//**************************************************************************
// Called by 2.0 servers when shutting down.
STDMETHODIMP OPCShutdown::ShutdownRequest(LPCWSTR szReason)
{
   reason = szReason;
   PostMessage(pDoc->hView, WM_OPCSHUTDOWN, (WPARAM)reason.GetBuffer(0), 0);
   return S_OK;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产电影在线观看| 琪琪久久久久日韩精品| 久久欧美中文字幕| 欧美偷拍一区二区| 成av人片一区二区| 一区二区三区波多野结衣在线观看| 久久一留热品黄| 精品久久人人做人人爰| 制服丝袜av成人在线看| 欧美日韩国产综合一区二区| 色偷偷88欧美精品久久久| 成人黄色在线看| 国产成a人无v码亚洲福利| 国产精品自拍在线| 国产呦精品一区二区三区网站| 亚洲国产视频直播| 亚洲自拍都市欧美小说| 一区二区三区自拍| 一区二区在线观看av| 国产精品国产三级国产三级人妇 | 久久久蜜桃精品| 久久伊人中文字幕| 26uuu色噜噜精品一区| 久久婷婷色综合| 久久九九99视频| 亚洲国产精品成人综合色在线婷婷 | 国产成人午夜精品影院观看视频 | 乱一区二区av| 国产精品亚洲专一区二区三区| 成人免费毛片a| 欧洲亚洲精品在线| 日韩欧美国产成人一区二区| 国产视频视频一区| 亚洲午夜av在线| 精品一区二区三区在线观看| 成人一区在线看| 欧美在线播放高清精品| 欧美精品一区二区蜜臀亚洲| 最新国产成人在线观看| 日韩精品高清不卡| 国产福利一区二区三区视频| 欧美最猛性xxxxx直播| 精品国产成人系列| 亚洲蜜臀av乱码久久精品| 免费视频最近日韩| 成人av集中营| 日韩欧美色综合| 国产精品国模大尺度视频| 日韩精品一级二级| av中文字幕一区| 91精品国产综合久久福利| 日本一区二区不卡视频| 男女性色大片免费观看一区二区 | 91精品国产日韩91久久久久久| 国产日韩精品一区二区三区 | eeuss鲁片一区二区三区在线观看| 欧美日韩精品欧美日韩精品一综合| 久久久午夜电影| 五月婷婷久久综合| 99久久久免费精品国产一区二区 | 日韩精品电影在线观看| 波多野结衣视频一区| 日韩欧美在线综合网| 亚洲乱码国产乱码精品精的特点 | 日本91福利区| 色婷婷综合久久久中文一区二区| 亚洲精品一区二区三区蜜桃下载| 亚洲一区二区视频| 国产mv日韩mv欧美| 精品国产一区二区三区忘忧草 | 久久久久九九视频| 日本欧美一区二区在线观看| 91免费版pro下载短视频| 久久久综合激的五月天| 免费看日韩精品| 在线观看视频欧美| 亚洲欧洲在线观看av| 国产乱人伦精品一区二区在线观看| 69堂国产成人免费视频| 一区二区三区四区五区视频在线观看| 国产成人在线色| 26uuu色噜噜精品一区二区| 日本午夜精品一区二区三区电影| 欧美性色欧美a在线播放| 亚洲人一二三区| av毛片久久久久**hd| 国产精品全国免费观看高清| 国产主播一区二区| www成人在线观看| 久久精品免费看| 欧美一激情一区二区三区| 日韩在线一区二区三区| 欧美日韩亚洲综合一区二区三区| 亚洲激情欧美激情| 色综合久久中文字幕| 日韩毛片精品高清免费| 成人高清免费观看| 国产精品狼人久久影院观看方式| 国产精品99久久久| 国产欧美日本一区二区三区| 国产白丝精品91爽爽久久| 久久久久久麻豆| 国产又粗又猛又爽又黄91精品| 欧美成va人片在线观看| 美国十次综合导航| 精品少妇一区二区三区| 国产一区二区三区最好精华液| 日韩欧美黄色影院| 激情综合色播五月| 久久久久久久久久美女| 丰满亚洲少妇av| 一色桃子久久精品亚洲| 色婷婷国产精品综合在线观看| 一区二区三区四区在线播放| 精品视频色一区| 免费在线欧美视频| 久久综合资源网| 成人影视亚洲图片在线| 综合激情成人伊人| 欧美日韩精品一区二区三区蜜桃| 五月天激情综合| 精品粉嫩超白一线天av| 大尺度一区二区| 亚洲精品一二三区| 91精品在线免费观看| 久久国产精品免费| 国产丝袜美腿一区二区三区| av不卡在线观看| 午夜成人免费视频| 久久综合国产精品| 99久久er热在这里只有精品66| 一区二区三区国产精品| 日韩免费观看高清完整版| 国产大陆亚洲精品国产| 亚洲人成在线播放网站岛国| 欧美顶级少妇做爰| 国产一区二区三区黄视频 | 三级精品在线观看| 久久久久九九视频| 在线观看日韩电影| 韩国成人精品a∨在线观看| 中文字幕亚洲在| 欧美日韩电影在线| 国产成人日日夜夜| 亚洲一区二区三区四区不卡| 精品久久久久久久久久久院品网| 成人av电影在线观看| 视频一区中文字幕国产| 国产精品免费视频观看| 欧美精品一卡二卡| 成人h动漫精品一区二区| 调教+趴+乳夹+国产+精品| 国产婷婷一区二区| 欧美日本韩国一区| 成人动漫一区二区在线| 免费久久精品视频| 自拍偷拍亚洲综合| 精品国产免费久久| 欧美色成人综合| 成人激情视频网站| 久久er精品视频| 亚洲自拍另类综合| 中文字幕av免费专区久久| 欧美挠脚心视频网站| 99久久精品国产毛片| 加勒比av一区二区| 亚洲成人免费视| 国产精品国产三级国产普通话蜜臀| 欧美一卡二卡三卡四卡| 色94色欧美sute亚洲线路二| 国产不卡视频一区| 捆绑调教美女网站视频一区| 一区二区成人在线观看| 国产精品色哟哟| 精品国产一区二区三区忘忧草| 欧美日韩一区二区在线观看视频| 丰满少妇在线播放bd日韩电影| 美女免费视频一区| 五月婷婷激情综合| 一区二区视频在线| 亚洲欧洲日韩女同| 国产欧美日韩一区二区三区在线观看 | 欧美日韩国产美女| 色一情一乱一乱一91av| 高清国产一区二区| 极品少妇一区二区| 奇米一区二区三区| 午夜私人影院久久久久| 亚洲男人的天堂在线观看| 国产偷国产偷精品高清尤物| 精品久久久久香蕉网| 日韩一区二区免费在线观看| 欧美三级电影在线观看| 在线亚洲高清视频| 91视频com| 99久久综合色| 91亚洲精品久久久蜜桃网站 | 国产麻豆一精品一av一免费| 麻豆视频观看网址久久| 蜜臀av性久久久久蜜臀aⅴ四虎|