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

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

?? mexopc.cpp

?? 一個(gè)opc服務(wù)器
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
					}
                    else
					{
                         pDoc->ReportError( _T("ASync Write: %s"), pErrors[0] );
						  z[0] = 2789561;
						 return ;
					}
				}
			}
            else
			{
                OPCAsyncIO opcAsyncIO;
                if( opcAsyncIO.Attach( pDoc->opcGroup ) == S_OK )
				{
                   COleVariant vt( dlg.m_value );   // initialize as a string
                   vt.ChangeType( item->value.vt );  // let COleVariant convert!
                   HRESULT hr = opcAsyncIO.Write(pDoc->dwConnection2, 1, &item->hServerHandle,
                                              vt, &pDoc->transactionID, &pErrors);
                   if( SUCCEEDED(hr) )
				   {
                      if( FAILED(pErrors[0]) )
					  {
                          pDoc->ReportError( _T("ASync Write:%s "), pErrors[0] );
						   z[0] = 2789561;
						  return ;
					  }
                      CoTaskMemFree( pErrors );
				   }
                   else
				   {
                         pDoc->ReportError( _T("ASync Write: %s"), pErrors[0] );
						  z[0] = 2789561;
						 return ;
				   }
				}
			}
		}
		else
		{
             OPCSyncIO opcSyncIO;
             if( opcSyncIO.Attach( pDoc->opcGroup ) == S_OK )
			 {
                 COleVariant vt( dlg.m_value );   // initialize as a string
                 vt.ChangeType(item->value.vt );  // let COleVariant convert!
                 HRESULT hr = opcSyncIO.Write( 1, &item->hServerHandle, vt, &pErrors);
			
                 if( SUCCEEDED(hr) )
				 {
                     if( FAILED(pErrors[0]) )
					 {
                        pDoc->ReportError( _T("Sync Write:%s "), pErrors[0] );
						 z[0] = 2789561;
						return ;
					 }
                     CoTaskMemFree( pErrors );
				 }
                 else
				 {
                     pDoc-> ReportError( _T("Sync Write:%s "), pErrors[0] );
					  z[0] = 2789561;
					 return ;
				 }
			 }
		}
	    
	}
}
void dill(CString para,CString name,double * z)
{
        double * y;
        y = (double*)mxGetData(inth);
		//***********************wait***********************************
	    if(para.Compare( "wait" ) == 0)
		{
           
           lock.Lock(int(y[0]));
		   if (lock.IsLocked())  
		   lock.Unlock();
	       event->ResetEvent();
		}
   
//******************matlab將進(jìn)入休眠*******************************
	    if(para.Compare( "sleep" ) == 0||para.Compare( "Sleep" ) == 0||para.Compare( "SLEEP" ) == 0)
		{
		   double * y;
           y = (double*)mxGetData(inth);
		   int r = int(y);
           Sleep(r);
		}
		z[0] =0;
}
void fill(CString para,double * z)
{
	
	if(start)
	{
    if(AfxOleInit())
	{
		for(int i=0;i<1000;i++)
		{
           DoubleItemValue[i] = 0;
		}
	}
	}
	start = 0;			 
//*********************加條操作**********************************************************
    if(para.Compare( "add" ) == 0 ||para.Compare( "Add" ) == 0||para.Compare( "ADD" ) == 0)
	{     
	     USES_CONVERSION;
	     ASSERT( pDoc->opcGroup.IsOk() );
		 CAddItem dlg(pDoc,pDoc->opcServer);
         dlg.DoModal();			 
         HRESULT hr = itemMgt.Attach( pDoc->opcGroup );
         if( FAILED(hr) )
		 {
		 z[0] = 2789561;
         return;
		 }
   // Add a new item
		 for(int i=0;i<itemcount;i++)
		 {
		 Item* item = new Item;
         item->quality = OPC_QUALITY_GOOD;
         item->name =allitems[i];//dlg.m_itemID;
         itemID =allitems[i];//dlg.m_itemID;
   // fill out its definition
		 accessPath =dlg.m_accessPath;
         OPCITEMDEF idef;
         idef.szItemID = T2OLE((LPTSTR)itemID);
         idef.dwBlobSize = 0;
         idef.pBlob = NULL;
         idef.bActive = TRUE;
         idef.hClient = (OPCHANDLE)item;  // pointer to item is its "handle"
         idef.szAccessPath = T2OLE((LPTSTR)accessPath);
         idef.vtRequestedDataType = VT_EMPTY;
        
   // add the item
         OPCITEMRESULT * pResults;
         HRESULT *pErrors;
         hr = itemMgt.AddItems(1, &idef, &pResults, &pErrors);
         if( FAILED( hr ) )   // if the call failed, get out
		 {
		 pDoc->ReportError( _T("AddItems: %s"), pErrors[0] );
         delete item;
		  z[0] = 2789561;
         return ;
		 }
		
   // If the call was successful, memory must be cleaned up
         item->hServerHandle = pResults->hServer;  // save the server handle
		
        //type = pResults->vtCanonicalDataType;
   // Save the result in pErrors before freeing
         HRESULT itemResult = pErrors[0];          // and the item's result
         if( pResults->pBlob != NULL )
         CoTaskMemFree( pResults->pBlob );
         CoTaskMemFree( pResults );
         CoTaskMemFree( pErrors );

   // It this item failed, don't keep it (the server didn't)
         if( FAILED(itemResult) )
		 {
		   pDoc->ReportError( _T("AddItems: %s"), itemResult );
           delete item;
		    z[0] = 2789561;
           return ;
		 }
         pDoc->items.AddTail( item );  // store this item in the item list
		 
   // Read its initial value
        OPCSyncIO opcSyncIO;
        if( opcSyncIO.Attach( pDoc->opcGroup ) == S_OK )
		{
        OPCITEMSTATE* pItemState;
         hr = opcSyncIO.Read( OPC_DS_CACHE,1, &item->hServerHandle, &pItemState, &pErrors);
		 
        if( SUCCEEDED(hr) )
		{
         ASSERT( pItemState->hClient == (OPCHANDLE)item );
         item->quality = pItemState->wQuality;
         item->value = pItemState->vDataValue;
         VariantClear( &pItemState->vDataValue );
         CoTaskMemFree( pItemState );
         CoTaskMemFree( pErrors );
		}
        else
		{
			pDoc->ReportError( _T("Sync Read:%s "), pErrors[0] );
			 z[0] = 2789561;
            return ;
		}
		}
        if(itemMgt.IsOk())
		{	
		}
   // test some more interfaces
//#ifdef FULL_TEST
        if( itemMgt.IsOk() )
		{
         hr = itemMgt.SetActiveState( 1, &item->hServerHandle, FALSE, &pErrors);
         if( SUCCEEDED(hr) )
         CoTaskMemFree( pErrors );
         hr = itemMgt.SetActiveState( 1, &item->hServerHandle, TRUE, &pErrors);
         if( SUCCEEDED(hr) )
         CoTaskMemFree( pErrors );
         hr = itemMgt.SetClientHandles( 1, &item->hServerHandle, (OPCHANDLE*)&item, &pErrors);
         if( SUCCEEDED(hr) )
         CoTaskMemFree( pErrors );
		}
		else if( FAILED(hr) )
         pDoc->ReportError( _T("EnumOPCItemAttributes:%s "), pErrors[0] );
//#endif  //FULL_TEST
		clientitems1.Add(item); 
		 }
		
//*************************下面是更新操作***************************************** 
}
//*************************************************讀函數(shù)*******************************************************
//***********************************************注冊(cè)函數(shù)*****************************************************		
 	    if(para.Compare( "open" ) == 0||para.Compare( "Open" ) == 0||para.Compare( "OPEN" ) == 0)
		{
		pDoc = new OPCClientDoc();
		OPCServerDlg dlg;
		USES_CONVERSION;
        ASSERT( !pDoc->opcServer.IsOk() );
        HRESULT hr = S_OK;
   // Prompt user for the server name (from list of installed servers)
        if(dlg.DoModal()!=IDOK)
		{
			z[0] = 2789561;
			init =0;
		    return;
		}
		 m_synctime = dlg.m_synctime;
        POSITION pos = dlg.m_Servers.GetHeadPosition();
        while( pos )
		{
         OPCServerInfo* pServerInfo = dlg.m_Servers.GetNext( pos );
         if(dlg.m_Server == pServerInfo->m_ProgID)
		 {
          dlg.m_clsid = pServerInfo->m_clsid;
		 }
		}

   // If not found, Get CLSID from the ProgID
   //USES_CONVERSION;
       IOPCServerList* pServers=NULL;

       COSERVERINFO si;
       MULTI_QI  qi;

       si.dwReserved1 = 0;
       si.pwszName = NULL;
       if( !dlg.m_Node.IsEmpty() )
           si.pwszName = T2OLE(dlg.m_Node.GetBuffer(0));
       si.pAuthInfo = NULL;
       si.dwReserved2 = 0;

       qi.pIID = &IID_IOPCServerList;
       qi.pItf = NULL;
       qi.hr = 0;

       hr = CoCreateInstanceEx(CLSID_OPCServerList, NULL, CLSCTX_ALL, &si, 1, &qi);
       if (FAILED(hr) || FAILED(qi.hr))
	   {
          CString msg(_T("Please install the OPC 2.0 Components."));
          if( !dlg.m_Node.IsEmpty() )
              msg.Format(_T("Please install the OPC 2.0 Components on %s."), (LPCTSTR)dlg.m_Node);
          AfxMessageBox(msg);
           z[0] = 2789561;
           init =0;
          return ;
	   }
       pServers = (IOPCServerList*)qi.pItf;
       hr = pServers->CLSIDFromProgID(T2OLE(dlg.m_Server.GetBuffer(0)), &dlg.m_clsid);
       pServers->Release();
       if (FAILED(hr))
	   {
          CString msg;
          msg.Format(_T("Error locating '%s'."), (LPCTSTR)dlg.m_Server);
          if( !dlg.m_Node.IsEmpty() )
             msg.Format(_T("Error locating '%s' on %s."), (LPCTSTR)dlg.m_Server, (LPCTSTR)dlg.m_Node);
          AfxMessageBox(msg);
		   z[0] = 2789561;
		   init =0;
          return ;
	   }
   // Create a running object from the class ID
   // (CLSCTX_ALL will allow in-proc, local and remote)
       LPUNKNOWN pUnkn = NULL;
   
       if( dlg.m_Node.IsEmpty() )
	   {
          hr = CoCreateInstance(dlg.m_clsid, NULL, CLSCTX_ALL, IID_IUnknown, (LPVOID *)&pUnkn);
          if( FAILED(hr) || pUnkn == NULL)
		  {
             CString format( (LPCSTR)"Error connecting to OPC server '%s' \n" );
             CString msg;
             msg.Format( format, dlg.m_Server );
             msg += _T("CoCreateInstance: %s");
             pDoc->ReportError( msg, hr );
			  z[0] = 2789561;
			  init =0;
             return ;
		  }
		}
        else  // use the node name
		{
	
          COSERVERINFO si;
          MULTI_QI  qi;

          si.dwReserved1 = 0;
          si.pwszName = T2OLE(dlg.m_Node.GetBuffer(0));
          si.pAuthInfo = NULL;
          si.dwReserved2 = 0;

          qi.pIID = &IID_IOPCServer;
          qi.pItf = NULL;
          qi.hr = 0;

          hr = CoCreateInstanceEx(dlg.m_clsid, NULL, CLSCTX_ALL, &si, 1, &qi);
          if (FAILED(hr))
		  {
              CString format( (LPCSTR)"Error connecting to OPC server '%s' \n" );
              CString msg;
              msg.Format( format, dlg.m_Server );
              msg += _T("CoCreateInstance:%s ");
              pDoc->ReportError( msg, hr );
			   z[0] = 2789561;
			   init =0;
              return ;
		  }
          if (FAILED(qi.hr))
		  {
             pDoc->ReportError( _T("MultiQI:%s "), qi.hr );
			  z[0] = 2789561;
			  init =0;
             return ;
		  }
          pUnkn = qi.pItf;
		}

   // Get the IOPCServer interface.
         hr = pDoc->opcServer.Attach( pUnkn );
         pUnkn = NULL;
         
         if( FAILED(hr) )
		{
         CString appName((LPCSTR)AFX_IDS_APP_TITLE);
         MessageBox(0, _T("You may not have registered the OPC Proxy dll!\n"), appName, MB_OK);
          z[0] = 2789561;
		  init =0;
		 return ;
		}
   
   // OPC 2.0 Server shutdown ConnectionPoint
	{
      IConnectionPointContainer *pCPC = 0;
      hr = pDoc->opcServer.QueryInterface(IID_IConnectionPointContainer, (void**)&pCPC);
      if( SUCCEEDED(hr) )  // This server supports 2.0
      {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91美女在线观看| 精品福利一区二区三区免费视频| 国产精品一区二区在线看| 麻豆精品一二三| 日韩国产精品大片| 日韩在线一区二区三区| 天天影视色香欲综合网老头| 亚洲嫩草精品久久| 一区二区三区精品在线观看| 一区二区三区精品在线| 午夜影视日本亚洲欧洲精品| 午夜av一区二区三区| 日韩在线a电影| 人人爽香蕉精品| 精品在线播放免费| 国产激情视频一区二区在线观看| 国产精品一二二区| 99久久精品国产网站| 91久久免费观看| 欧美午夜影院一区| 91精品国产综合久久国产大片| 91精品婷婷国产综合久久| 日韩一区二区不卡| 久久久亚洲午夜电影| 国产日韩av一区| 亚洲免费视频成人| 日韩国产欧美在线视频| 国产一区二区三区免费看| 粉嫩aⅴ一区二区三区四区| aaa亚洲精品| 欧美自拍偷拍午夜视频| 日韩欧美国产麻豆| 欧美国产日本韩| 亚洲一区欧美一区| 精品影视av免费| youjizz久久| 欧美蜜桃一区二区三区| 欧美大胆人体bbbb| 1000精品久久久久久久久| 亚洲精品日韩一| 久久机这里只有精品| 波多野结衣欧美| 欧美一级专区免费大片| 中文字幕第一页久久| 亚洲五码中文字幕| 国产馆精品极品| 欧美午夜电影网| 国产三级精品在线| 天天综合网 天天综合色| 国产馆精品极品| 欧美午夜精品久久久久久孕妇| 欧美成人精品福利| 亚洲免费色视频| 日产欧产美韩系列久久99| 粉嫩一区二区三区在线看| 欧美日韩三级在线| 国产亚洲精久久久久久| 亚洲丰满少妇videoshd| 成人精品电影在线观看| 欧美老女人在线| 国产精品视频免费看| 免费在线看一区| 91麻豆精品视频| 久久综合久久综合九色| 亚洲成人免费视| 成人午夜在线视频| wwww国产精品欧美| 日韩国产欧美在线观看| 91色porny在线视频| 欧美精品一区二区三区久久久 | 国产日韩av一区二区| 亚洲国产aⅴ成人精品无吗| 国产激情偷乱视频一区二区三区| 欧美日韩中文国产| 成人欧美一区二区三区黑人麻豆 | 人人狠狠综合久久亚洲| 99精品桃花视频在线观看| 2014亚洲片线观看视频免费| 夜夜操天天操亚洲| 97se亚洲国产综合自在线不卡| 欧美zozozo| 蜜桃一区二区三区在线| 欧美日韩亚洲综合在线| 一区二区三区成人在线视频| 成人性生交大合| 国产性色一区二区| 国产一区中文字幕| 日韩免费电影网站| 日韩成人精品在线| 51精品国自产在线| 亚洲丰满少妇videoshd| 欧美在线观看一区二区| 亚洲欧美另类久久久精品2019 | 久久精品日产第一区二区三区高清版 | 日韩欧美国产不卡| 丝袜亚洲另类欧美| 欧美色综合影院| 亚洲一区二区三区中文字幕| 91久久香蕉国产日韩欧美9色| 亚洲天堂福利av| 波多野结衣亚洲| 中文字幕一区二区三区蜜月| 成人app网站| 中文字幕一区二区在线播放| 波多野结衣视频一区| 综合网在线视频| 91在线播放网址| 亚洲最色的网站| 色天天综合色天天久久| 亚洲在线中文字幕| 欧美丰满高潮xxxx喷水动漫| 午夜伦欧美伦电影理论片| 欧美肥妇bbw| 精品一区二区在线观看| 欧美精品一区二区三区四区 | 制服丝袜中文字幕一区| 热久久国产精品| 日韩精品一区二区三区swag| 久久国产婷婷国产香蕉| 久久久久99精品一区| 成人丝袜高跟foot| 亚洲免费在线看| 欧美日韩一区二区在线观看视频| 天堂蜜桃91精品| 精品国产3级a| 不卡高清视频专区| 亚洲五月六月丁香激情| 日韩欧美的一区二区| 国内精品伊人久久久久影院对白| 久久精品日产第一区二区三区高清版 | 国产一区视频导航| 中文字幕一区二区三区乱码在线| 欧美综合久久久| 极品瑜伽女神91| 中文字幕在线不卡国产视频| 欧美日韩精品综合在线| 看国产成人h片视频| 国产精品人成在线观看免费| 欧洲av在线精品| 久久福利资源站| 国产精品每日更新在线播放网址| 在线观看www91| 老司机精品视频导航| 亚洲欧美在线另类| 欧美一卡二卡三卡四卡| 99久久国产综合精品女不卡| 婷婷一区二区三区| 中文字幕av不卡| 91精品婷婷国产综合久久竹菊| 成人三级在线视频| 三级亚洲高清视频| 中日韩免费视频中文字幕| 欧美三级一区二区| 国产 欧美在线| 亚洲高清视频在线| 国产精品麻豆欧美日韩ww| 欧美精品粉嫩高潮一区二区| 国产成人免费9x9x人网站视频| 亚洲综合激情另类小说区| 欧美不卡在线视频| 日本高清不卡在线观看| 狠狠色丁香婷婷综合久久片| 一区二区三区在线观看视频| 欧美成人免费网站| 在线一区二区观看| 国产精品1区二区.| 石原莉奈在线亚洲三区| 中文字幕在线免费不卡| 日韩视频免费观看高清完整版在线观看| 成人午夜视频免费看| 日本大胆欧美人术艺术动态| 亚洲激情在线激情| 国产午夜精品理论片a级大结局| 欧美视频在线不卡| 97aⅴ精品视频一二三区| 韩国三级电影一区二区| 亚洲电影一级片| 国产精品不卡一区| 日韩亚洲欧美在线| 欧美日韩精品一区二区在线播放 | 久久老女人爱爱| 欧美一区二区三区四区高清| 日本道色综合久久| av在线播放成人| 激情图片小说一区| 日本v片在线高清不卡在线观看| 洋洋av久久久久久久一区| 国产精品日韩成人| 国产日产欧美一区| 久久精品无码一区二区三区| 欧美一级片在线| 欧美日韩国产a| 欧美日韩中字一区| 欧美专区日韩专区| 91蜜桃视频在线| 色婷婷综合久久| 91激情在线视频| 91黄色激情网站| 99久久综合精品| 色综合亚洲欧洲|