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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serverrs232array.cpp

?? 用于開發Modbus工業級通信
?? CPP
字號:
/////////////////////////////////////////////////////////////////////////////
//
// FILE: ServerRS232Array.cpp : implementation file
//
// See _README.CPP
//
// Implementation of the CServerRS232Array class.
//    This class does almost nothing, because we only ever open 1 port.
//    If in future multiple ports are allowed, this class will need 
//    minimal changes.
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "mod_RSsim.h"
#include "ServerRS232Array.h"
#include "MOD_RSsimDlg.h"
#include "abcommsprocessor.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

extern CMOD_simDlg * pGlobalDialog;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CServerRS232Array::CServerRS232Array(int size /*= 10*/)
{
   SetSize(size);
}

CServerRS232Array::~CServerRS232Array()
{
// free up all of the items pointed to before this object looses the pointers
CMOD232CommsProcessor * sockPtr;  
LONG n=GetUpperBound(),i=0;

   // go backwards through the list so that the objects
   // are destroyed in reverse order of creation.
   while (i<=n)
   {
      sockPtr = (CMOD232CommsProcessor *)GetAt(i);  // Make sure to delete all items this array holds 
      SetAt((DWORD)i, NULL);
      if (NULL != sockPtr)
      {
      LONG i=100;
         sockPtr->keepPolling = FALSE;
         OutputDebugString("Stop comms Processor!\n");
         // To-do!!! Must get beter clean-up in here, will 
         // have to wait for thread to finnish running before continuing
         while (i)
         {
            // process our message queue in the meantime while we wait for the thread to die
            pGlobalDialog->MyProcessingLoop(20);
            if (WAIT_OBJECT_0 ==WaitForSingleObject(sockPtr->m_threadDeadEvent, 50))
               break;
            i--;
         }
         // the thread will be dead by now, if it isn't well...
         delete sockPtr;
      }
      i++;
   }
}


// ------------------------- CloseAll -----------------------------------------
// close them all
void CServerRS232Array::CloseAll()
{
//CDDKSrvSocket * sockPtr, *sockPtr1;
CRS232Port *pPort,*pPort1;
LONG n=GetUpperBound(); 

   // go backwards through the list so that the objects
   // are destroyed in reverse order of creation.
   pPort1 = (CRS232Port *)GetAt(0);  // Make sure to delete all items this array holds 
   while (n>=0)
   {
      pPort = (CRS232Port *)GetAt(n);  // Make sure to delete all items this array holds 
      //Remove((HANDLE)n);               // remove from the list
      pPort->keepPolling = FALSE;
      if (NULL != pPort)
         pPort->ClosePort();
         //sockPtr->CloseSocket(TRUE, *sockPtr1->m_pSocket);
      n--;                             
   }
} // CloseAll

// ------------------------- AddServers ------------------------------------
// Start the only port server.
LONG CServerRS232Array::AddServers(DWORD protocolSel,
                                   LPCTSTR portNameShort, 
                                   DWORD  baud, 
                                   DWORD byteSize, 
                                   DWORD parity, 
                                   DWORD stopBits,
                                   DWORD rts,
                                   int responseDelay, 
                                   BOOL MOSCADchecks,
                                   BOOL modifyThenRespond,
                                   BOOL disableWrites,
                                   DWORD PDUSize,
								           BOOL  useBCC,
                                   DWORD source,
                                   DWORD dest,
                                   DWORD files,
                                   BOOL  run,
                                   BOOL JOYread,
                                   BOOL JOYwrite,
                                   DWORD masterIdleTime,
                                   DWORD timeoutValue
                                   )
{
CMOD232CommsProcessor *pServerMOD;
CAB232CommsProcessor *pServerAB;
   
   RemoveAll();
   SetSize(0, 1); //numServers);
   // 1st server is the creator 
   switch (protocolSel)
   {
   case PROTOCOL_SELMOD232 :
      pServerMOD = (CMOD232CommsProcessor *) new CMOD232CommsProcessor(portNameShort, 
                                                             baud, 
                                                             byteSize, 
                                                             parity, 
                                                             stopBits,
                                                             rts,
                                                             responseDelay,
                                                             MOSCADchecks, 
                                                             modifyThenRespond,
                                                             disableWrites);
      pServerMOD->SetPDUSize(PDUSize);
      //pServer1->m_responseDelay = responseDelay;
      pServerMOD->m_threadStartupEvent.SetEvent();// CEvent
      //pServer = pServer1;
   
      // add it to our array
      Add((CObject*)pServerMOD);
      break;
   case PROTOCOL_SELJOY232 :
      pServerAB = (CAB232CommsProcessor *) new CAB232CommsProcessor(portNameShort, 
                                                             baud, 
                                                             byteSize, 
                                                             parity, 
                                                             stopBits,
                                                             rts,
                                                             responseDelay,
                                                             MOSCADchecks, 
                                                             modifyThenRespond,
                                                             disableWrites,
															                useBCC,
                                                             masterIdleTime,
                                                             timeoutValue
                                                             );
      pServerAB->SetPDUSize(PDUSize);
      pServerAB->SetJoyParameters(source, dest, files, run, JOYread, JOYwrite);

      //pServer1->m_responseDelay = responseDelay;
      pServerAB->m_threadStartupEvent.SetEvent();// CEvent
      //pServer = pServer1;
   
      // add it to our array
      Add((CObject*)pServerAB);
      break;
   case PROTOCOL_SELAB232 :
      pServerAB = (CAB232CommsProcessor *) new CAB232CommsProcessor(portNameShort, 
                                                             baud, 
                                                             byteSize, 
                                                             parity, 
                                                             stopBits,
                                                             rts,
                                                             responseDelay,
                                                             MOSCADchecks, 
                                                             modifyThenRespond,
                                                             disableWrites,
                															 useBCC,
                                                             masterIdleTime,
                                                             timeoutValue
                                                             );
      pServerAB->SetPDUSize(PDUSize);
      //pServer1->m_responseDelay = responseDelay;
      pServerAB->m_threadStartupEvent.SetEvent();// CEvent
      //pServer = pServer1;
   
      // add it to our array
      Add((CObject*)pServerAB);
      break;
   }
   // do some idle processing to allow the window to repaint
   pGlobalDialog->MyProcessingLoop(20);
   return (1);
} // AddServers


// -------------------------------- NumberConnected ---------------------------
// return # of sockets that are still connected to something
LONG CServerRS232Array::NumberConnected()
{
CRS232Port *pPort;
LONG n=GetUpperBound(); 
LONG ret = 0;

   // go backwards through the list so that the objects
   // are destroyed in reverse order of creation.
   while (n>=0)
   {
      pPort = (CRS232Port *)GetAt(n);  // Make sure to delete all items this array holds 
      if (NULL != pPort)
         if (INVALID_HANDLE_VALUE != pPort->h232Port)
            ret++;
      n--;                             
   }
   return(ret);
} // NumberConnected

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品国精品国产尤物884a| 国产精品麻豆视频| 久久麻豆一区二区| 久久婷婷国产综合精品青草| 欧美电视剧免费观看| 精品国产百合女同互慰| 精品美女一区二区| 久久无码av三级| 国产精品区一区二区三区| 国产精品美女视频| 综合网在线视频| 亚洲伦理在线免费看| 亚洲成人免费影院| 看片的网站亚洲| 国产真实乱子伦精品视频| 粉嫩高潮美女一区二区三区| av一区二区三区四区| 91黄色在线观看| 在线观看91av| 久久久久九九视频| 国产精品国产三级国产aⅴ原创| 亚洲视频中文字幕| 亚洲高清免费观看高清完整版在线观看| 亚洲成av人在线观看| 精品影院一区二区久久久| 国产在线精品一区二区不卡了| 成人午夜精品一区二区三区| 91色在线porny| 欧美日韩免费一区二区三区| 日韩视频一区二区| 国产日产欧美一区| 一区二区三区成人| 日本vs亚洲vs韩国一区三区| 国产麻豆精品95视频| 色婷婷国产精品久久包臀| 欧美一区二区在线免费播放| 久久婷婷成人综合色| 一区二区三区色| 乱中年女人伦av一区二区| 岛国一区二区在线观看| 欧美色图片你懂的| wwwwww.欧美系列| 亚洲激情五月婷婷| 久久99精品视频| 一本久道中文字幕精品亚洲嫩| 宅男噜噜噜66一区二区66| 九九精品视频在线看| 91麻豆文化传媒在线观看| 欧美一级理论片| 亚洲日本丝袜连裤袜办公室| 日本免费在线视频不卡一不卡二| 国产盗摄一区二区| 欧美日本一道本| 国产精品美女久久久久久久久| 亚洲综合成人网| 国产精品一区二区黑丝| 欧美三级蜜桃2在线观看| 国产清纯在线一区二区www| 日本视频一区二区三区| 91麻豆福利精品推荐| 亚洲精品在线观看网站| 性久久久久久久| 99久久综合狠狠综合久久| 26uuu成人网一区二区三区| 亚洲国产视频一区二区| 波多野结衣亚洲一区| 日韩视频123| 一区二区三区不卡在线观看 | 99久久久精品免费观看国产蜜| 91精品国产色综合久久ai换脸 | 日韩专区欧美专区| 成人av高清在线| 欧美www视频| 香蕉乱码成人久久天堂爱免费| 成人av在线资源| 日本一区二区三区在线观看| 久久国产剧场电影| 欧美一区二区三区四区视频 | 日韩免费高清av| 一区二区三区资源| 91在线视频官网| 中文字幕+乱码+中文字幕一区| 美女脱光内衣内裤视频久久网站| 欧美在线小视频| 亚洲乱码国产乱码精品精98午夜 | 首页国产欧美日韩丝袜| 91免费精品国自产拍在线不卡| 国产亚洲精品福利| 国产尤物一区二区在线| 制服丝袜一区二区三区| 亚洲一区影音先锋| 91色婷婷久久久久合中文| |精品福利一区二区三区| 国产成人99久久亚洲综合精品| 欧美mv日韩mv国产| 精一区二区三区| 精品国产露脸精彩对白| 久久99久久99小草精品免视看| 欧美精品色综合| 日韩中文字幕91| 欧美三级日韩在线| 天堂va蜜桃一区二区三区 | 日韩一区二区三区免费观看| 性做久久久久久免费观看| 欧美日韩夫妻久久| 奇米888四色在线精品| 日韩欧美亚洲国产精品字幕久久久| 日韩在线卡一卡二| 91精品国产91久久综合桃花| 视频精品一区二区| 日韩视频中午一区| 国产在线视频一区二区| 国产欧美精品一区二区色综合朱莉| 国产福利91精品一区二区三区| 中文字幕不卡三区| 色综合久久99| 91丨国产丨九色丨pron| 一区二区三区不卡视频在线观看 | 欧美视频三区在线播放| 亚洲成人av在线电影| 日韩亚洲欧美在线观看| 精品一区二区三区在线播放 | 强制捆绑调教一区二区| 精品久久一区二区三区| 国产成人午夜99999| 国产精品国产精品国产专区不片| 91黄色在线观看| 蜜桃av一区二区三区电影| 久久久亚洲国产美女国产盗摄| 成人午夜av在线| 一区二区三区欧美亚洲| 欧美一区二区日韩一区二区| 国产精品影音先锋| 亚洲男同性恋视频| 91精品国产一区二区三区香蕉| 国产精品亚洲а∨天堂免在线| 亚洲欧洲一区二区三区| 91精品国模一区二区三区| 国产成a人亚洲精| 一区二区三区国产| 精品成人一区二区三区四区| 成人av网站大全| 日本欧美大码aⅴ在线播放| 国产农村妇女毛片精品久久麻豆 | 91啦中文在线观看| 日韩电影免费一区| 国产精品卡一卡二| 欧美另类高清zo欧美| 国产精品主播直播| 亚洲午夜激情av| 久久久美女毛片| 欧美午夜在线观看| 国产成人欧美日韩在线电影| 亚洲已满18点击进入久久| 2022国产精品视频| 欧美在线看片a免费观看| 国产一区二区三区免费观看| 亚洲欧美国产毛片在线| 2020国产精品| 欧美日韩dvd在线观看| 高清在线观看日韩| 色狠狠av一区二区三区| 国产精品一区二区果冻传媒| 亚洲观看高清完整版在线观看 | 日本欧美韩国一区三区| 国产精品久久久久久久久搜平片 | 欧美精品第一页| 91影院在线免费观看| 精品一区二区三区免费毛片爱| 亚洲人成影院在线观看| 精品久久久久香蕉网| 欧美午夜在线观看| 99热99精品| 国产馆精品极品| 日韩二区在线观看| 一区二区欧美在线观看| 国产精品视频免费看| 精品久久久久久久久久久院品网| 在线亚洲一区观看| 成人app在线观看| 国产一区二区三区四区五区美女| 亚洲成人激情社区| 亚洲啪啪综合av一区二区三区| 久久久91精品国产一区二区精品| 51精品国自产在线| 欧美日韩极品在线观看一区| eeuss国产一区二区三区| 国产精品一区二区男女羞羞无遮挡 | 亚洲色图欧美在线| 欧美激情综合五月色丁香小说| 精品国产免费久久| 日韩三级视频中文字幕| 8v天堂国产在线一区二区| 欧美日韩精品一区二区三区四区| 一本到三区不卡视频| 99国产精品一区| av亚洲产国偷v产偷v自拍| 国产91清纯白嫩初高中在线观看| 国产一区二区精品在线观看| 激情综合五月婷婷|