| 
             
              ソスソスVisual C++ Q & Aソスfソスソスソスソス
             
           | 
        
ソスEC/C++
        ソスEDelphi
        ソスEVisual BasicソスソスソスSソスソス
        ソス@(VB2-VB6ソスソス.NETソスソスソスp)
        ソスEVisual Basic(VB2-VB6)
        ソスEVisual Basic .NET
        ソスEVisual C++
ソスVソスソスソスAソスソスソスハ信ソスソスsソスソスソスAソスvソスソスソスPソス[ソスVソスソスソスソスソスソスJソスソスソスソスソストゑソスソスソスフでゑソスソスソスソスAソスソスMソスfソス[ソス^ソスフ読み搾ソスソスンにつゑソスソスト不ソス合ソスソスソスNソスソスソスソスソストゑソスソスワゑソスソスソスソスソスソストゑソスソスワゑソスソスB
        ソスソスソスソスソスソスソスソスノなゑソスソスソスソスソスソスソスソスソスソス痰「ソスワゑソスソスソスソスソスAソスヌゑソスソスソスソスソスソスヘ添ソスソスソスソスソスソスソスソスソスソスソスソスニ奇ソスソスソスソスソスナゑソスソスB
        
        ソスソスソスソスソスAソスJソスソスソスソスソスフゑソスフの経ソスソスソスソスソスソスワゑソスネゑソスソスAソスルぼ擾ソスソスSソスメ擾ソスヤでゑソスソスEソスEソスE
        
        ソスJソスソスソスツ具ソスソスソスVisualC++6.0ソスAWindowsXPHOMEEditionソスナゑソスソスB
        
        
        ソスsソス合ソスフ鯉ソスソスロとゑソスソスソスソスワゑソスソスフゑソスソスAソス鼬セソスナ申ソスソスソス繧ーソスワゑソスソスソス
        ソスwソスソスソスソスソスoソスCソスgソスフデソス[ソス^ソスソスソスMソスソスソストゑソスAReadFileソスソスsソスソスソスニ茨ソスヤ最鯉ソスフバソスCソスgソスノゑソスソスソスソスfソス[ソス^ソスソスソスソスソスソスソストゑソスソスネゑソスソスx
        ソスニゑソスソスソスソスソスソスロでゑソスソスB
        
        ソスソスMソスソスソスフ搾ソスソスソス
        ソスEソスXソスソスソスbソスhソスノて趣ソスM
        ソスEソス同奇ソスソスソスReadFile
        ソスEソスCソスxソスソスソスgソス動ソスソスソスi1ソスoソスCソスgソスソスMソスソスソスソスソスソスXソスソスソスbソスhソスソスナ趣ソスMソスj
        ソスEソスソスWaitCommEventソスソスEV_RXCHARソスソスソスNソスソスソスソスソスソスfソス[ソス^ソスソスM
        ソスニゑソスソスソスソスソスフになゑソスソストゑソスソスワゑソスソスB
        
        ソスソスソスMソスソスソスiソスソスMソスソスソスソスフテソスXソスgソスpソスノ作成ソスソスソスソスソスソスソスMソスソスpソスフゑソスフでゑソスソスjソスソス1ソスoソスCソスgソスソスソスツデソス[ソス^ソス送信ソスソスソストみゑソスニ、ソスXソスソスソスbソスhソスソスナイソスxソスソスソスgソスソスソスNソスソスソスソスフゑソス1ソスoソスCソスgソスソスMソスソスソスソスソスソスソスソス3ソスoソスCソスgソスソスMソスソスソスソスソスソスソスソスソスソスソスソスソス閧オソスト、ソスソスソスソスソスuソスHソスvソスニゑソスソスソスソスソスソスソスソスネのでゑソスソスソスソスA3ソスoソスCソスgソスソスMソスネゑソス3ソスoソスCソスgソスソスMソスソスCOMSTATソス¥ソスソスソスフでわかソスソスフでゑソスソスソスソスフでゑソスソスソスソスAソスソスソスフ後がソスソスソスナゑソスソスB
        
        ReadFileソスナ趣ソスMソスfソス[ソス^ソスソスソスソスソスソスソスナ用ソスモゑソスソスソスソスoソスbソスtソス@ソスノ格ソス[ソスソスソスAソスソスソスフ抵ソスソスソスソスソストみゑソスニ、ソスナ鯉ソスノ趣ソスMソスソスソスソスソスfソス[ソス^ソスソスソスソスソスソスソスソスソストゑソスソスネゑソスソスフでゑソスソスBソス痰ヲソスホ「0x01ソスA0x01ソスA0x01ソスvソスニゑソスソスソス3ソスoソスCソスgソスfソス[ソス^ソスソスソスMソスソスソストゑソスヘゑソスソスネのに、ソスoソスbソスtソス@ソスフ抵ソスソスヘ「00ソスA00ソスA0x01ソスvソスニなゑソスソストゑソスソスソスフでゑソスソスB
        
        ソスナ鯉ソスフデソス[ソス^ソスソスソスソスソスヌみ出ソスソスソストなゑソスソスフで、1ソスoソスCソスgソスソスMソスソスソスノ趣ソスMソスCソスxソスソスソスgソスソスソスNソスソスソスソスソスソスソスニゑソスソスヘ托ソスソスvソスネのでゑソスソスソスソスEソスEソスEソスソスソスヘテソスXソスgソスニゑソスソスソス1ソスoソスCソスgソスソスソスツ托ソスソスMソスソスソストまゑソスソスソスソスAソスソスソスロ茨ソスxソスノ会ソスソスoソスCソスgソスソスソスMソスソスソス驍アソスニになゑソスソスソスソスソスbソスノなゑソスワゑソスソスソスソスヒ。
        
        
        ソスソスソスワゑソスソスsソス合ソスフポソスCソスソスソスgソスソスソスソスソスソスソスソスナゑソスソスソスホゑソスソスソスソスフでゑソスソスソスソスAソス謔ュソスソスソスソスソスソストゑソスソスネゑソスソスソスソスラに抵ソスソスソスソスネゑソスソストゑソスソスワゑソスソスソスソスンまゑソスソスソスB
        ソスソスソスソスソスネゑソスソストゑソスソスワゑソスソスソスソスフで、ソスソスソスフソスソスXソスナ趣ソスソスロのコソス[ソスhソスソスレゑソスソスワゑソスソスフで、ソスソスソスソスソスソスソスネ点ソスネどゑソスソスソスワゑソスソスソスソスソスヌゑソスソスソスソスソスソスwソスEソスソスソスソスソスソスソスソスニ奇ソスソスソスソスソスナゑソスソスB
ソスソスソスロの趣ソスMソスソスソスソスソスiソスXソスソスソスbソスhソスjソスナゑソスソスB
        ソスiソスソスソスネみゑソスDLLソスナゑソスソスj
        
        --------------------------------------------------
        DWORDWINAPICOM_Thread(LPVOIDpData)
        {
        DWORDdEvent,dError,dByte;
        COMSTATComstat;
        BOOLb=FALSE;
        charcBuf[256]="";
        while(bThread){//ソスソスソスXソスソスソスbソスhソスメ難ソスソスソスソスソスtrueソスナゑソスソスソスboolソス^ソスtソスソスソスO
        WaitCommEvent(h_Com,&dEvent,NULL);//ソスソスh_Comソスヘポソス[ソスgソスnソスソスソスhソスソス
        switch(dEvent){
        caseEV_RXCHAR:
        ClearCommError(h_comHDL,&dError,&Comstat);
        if(Comstat.cbInQue){
        //ソスソスMソスfソス[ソス^ソスTソスCソスYソスソスソスoソスbソスtソス@ソスソスソスソスヌみ出ソスソス
        b=ReadFile(h_comHDL,cRevBuf,Comstat.cbInQue,
        &dByte,&revop);
        if(GetLastError()==ERROR_IO_PENDING){
        //ソスソス1
        }
        if(!b){
        //ソスソス2
        }
        //ソスソスソスソスソスナ趣ソスMソスfソス[ソス^ソスソスソスソスソスソスソスソスソス¥ソスソス
        }
        break;
        default:
        break;
        }
        
        }
        return0;
        }
        --------------------------------------------------
        
        ソス同奇ソスソスナ趣ソスMソスソスソストゑソスソス驍ケソスソスソスナ、ReadFileソスソスソスノデソス[ソス^ソスSソスソスソスソスcBufソスoソスbソスtソス@ソスノ難ソスソス閧ォソスソスソストゑソスソスネゑソスソスフゑソスソスネ?ソスiソス同奇ソスソスハ信ソスソスソスニ趣ソスMソスfソス[ソス^ソスソスヌみ搾ソスソスン終ソスソスソスネゑソスソスソスノ関撰ソスソスソスソスソスヤゑソスソストゑソスソストゑソスソスワゑソスソス謔、ソスネので)ソスニ思ソスソスソスワゑソスソスト抵ソスソスラてみまゑソスソスソスソスソスA
        ソスwReadFileソスナまゑソスソスfソス[ソス^ソスソスソスMソスソスソスリゑソストなゑソスソスソスソスReadFileソスフ返ゑソスlソスソスFALSEソスAソスワゑソスソスソスGetLastError()ソスフ返ゑソスlソスソスERROR_IO_PENDINGソスノなゑソスワゑソスソスxソスニヘソスソスソスvソスノゑソスソスソスソスソスソスフで、ソスソス1ソスAソスソス2ソスソスソスソスソスナ確ソスFソスソスソスワゑソスソスソスソスソスソスヌゑソスソスソスソスifソスソスソスノゑソスソスソスソスソストゑソスソスネゑソスソスフでゑソスソスB
        ソスソスソスソスネのに、ReadFileソスソスcBufソスフ抵ソスソスgソスソスソスソストみゑソスニ最鯉ソスフデソス[ソス^ソスソスソスソスソスソスソスソスソストゑソスソスネゑソスソスト・ソスEソスE
        
        ソスソスソスソスヌゑソスソスソスソスソスソス轤「ソスソスソスフゑソスソスかソスソスワゑソスソスソスBソスヌゑソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスニゑソスソス閧ェソスソスソスソスソスナゑソスソスB
        ソスヌゑソスソスソスソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
ソスAソスソスソスXソス¥ソスソスソスソスネゑソスソスナゑソスソスG
        
        ソスソスLソスRソス[ソスhソスソス
        ClearCommError()ソスAReadFile()ソスフ托ソスソスソスソスソスソスソスh_Comソスフ間違いソスナゑソスソスB
        ソスソスソスンまゑソスソスソスB
ソスソスソスソスlソスノ具ソスソスソスソスソスソスソスルど詳ゑソスソスソスソスネゑソスソスナゑソスソスソスソスA
        
        >WaitCommEvent(h_Com,&dEvent,NULL);
        
        ソスソスソスソスAソスナ鯉ソスフ茨ソスソスソスNULLソスナゑソスソスソスソスソスナゑソスソス蛯、ソスソスソスH
        OVERLAPPEDソス¥ソスソスソスフへのポソスCソスソスソス^ソスソスnソスソスソスソス
        ソスソスソスソスソストゑソスソス驍ッソスヌ・ソスEソスEソスB
ソスミでゑソスさゑソスAソスソスソス答ゑソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
        
        ソスEソスEソスE
        
        ソスソスソスソスソスソスソスソスソスハゑソスナゑソスソスB
        ソスソスソスソスネ前ソスフミソスXソスナゑソスソスソスソスAソスソスソスpソスソスソスソスソスソスソスソスソスナゑソスソスBソスソスソスンまゑソスソスソスB
        
        ソスニゑソスソスソスソスソスソスニで、ソスソスソスソスWaitCommEventソスヨ撰ソスソスフ托ソスOソスソスソスソスソスソスOVERLAPPEDソス¥ソスソスソスソス(com_ob)ソスソスwソス閧オソスAソスト度ソスPソスoソスCソスgソスソスソスツデソス[ソス^ソス送信ソスソスソストみまゑソスソスソスソスニゑソスソスソスAソスPソスoソスCソスgソスソスソスMソスソスソス驍イソスニにイソスxソスソスソスgソスソスソスソスソスソスソスニ費ソスソスソスソスソスソスfソス[ソス^ソスソスけ趣ソスソストゑソスソスワゑソスソスソスソスB
        
        ソスソスソスソスソスト包ソスソスソスソスoソスCソスgソスソスソスxソスノ托ソスソスMソスソスソストみゑソスソスニゑソスソスソスAソスワゑソスソスソスMソスfソス[ソス^ソスソスソスsソスvソスcソスネゑソスソスニになゑソスソストゑソスソスワゑソスソスワゑソスソスソスソスEソスEソスE
        
        ソス痰ヲソスホ1ソスUソスoソスCソスgソスフデソス[ソス^ソスソスソスxソスノ托ソスソスMソスソスソストみゑソスニ、ソスソスMソスソスソスナ「ソスPソスUソスoソスCソスgソスfソス[ソス^ソスソスソスソスソスソスソスvソスニゑソスソスソスソスソスソスニは認ソスソスソスナゑソスソストゑソスソスソス謔、ソスネのでゑソスソスソスソスAReadFileソスソスソスノ趣ソスMソスfソス[ソス^ソスフ抵ソスソスgソスソスソスソストみゑソスニ、ソスソスソスxソスヘ”ソスナ擾ソスソスフ1ソス`ソスQソスoソスCソスgソスhソスソスソスソスソスfソス[ソス^ソス正ゑソスソスソスソスヌ搾ソスソスソスナゑソスソスネゑソスソスフでゑソスソスBソスネ降ソスフバソスCソスgソスフ抵ソスソスgソスヘどゑソスソスネゑソスソストゑソスソス驍ゥソスニゑソスソスソスソスニ、ソスソスソスソスソスソスソスソスヤのままではなゑソスソスソスソスソスソスソスソス轤イソスソスソス痰イソスソスソスソスネデソス[ソス^ソスソスソスソスソスソスソストゑソスソストゑソスソスワゑソスソストゑソスソスソス謔、ソスネのでゑソスソスB
        
        
        ソスwソスソスソスvソスフ包ソスソスソスWaitCommEventソスヨ撰ソスソスフ撰ソスソスソスソス
        ソスuhFileソスソスJソスソスソスニゑソスソスソスFILE_FLAG_OVERLAPPEDソスtソスソスソスOソスソスZソスbソスgソスソスソスト、lpOverlappedソスソスNULLソスネ外ソスフポソスCソスソスソス^ソスソスnソスソスソスニ、WaitCommEventソスヨ撰ソスソスヘ重ソスソスソスソスソスソスニゑソスソスト趣ソスソスsソスソスソスソスワゑソスソスBソスソスソスフとゑソスソスAOVERLAPPEDソス¥ソスソスソスフに手動ソスソスソスZソスbソスgソスCソスxソスソスソスgソスIソスuソスWソスFソスNソスgソスiCreateEventソスヨ撰ソスソスソスgソスソスソスト作成ソスソスソスワゑソスソスjソスフハソスソスソスhソスソスソスソスwソス閧オソストゑソスソスソスソスKソスvソスソスソスソスソスソスワゑソスソスBソスv
        ソスニゑソスソスソスワゑソスソスソスソスフで(ソスdソスソスソスソスソスソスニゑソスソスソスソスモ厄ソスソスソス謔ュソスかソスソスネゑソスソスフでゑソスソスソスソスBソスBソスjソスAソスソスLソスRソス[ソスhソスソスwhileソスソスソス[ソスvソスノ難ソスソスソスOソスソス
        
        com_ob.hEvent=CreateEvent(NULL,true,false,NULL);
        
        ソスニゑソスソスソスソス齦カソスソスヌ会ソスソスソスソストみまゑソスソスソスソスソスソスソスソスRソスネゑソスソス轤アソス黷セソスソスソスナは難ソスソスソスヘ変ゑソス轤クソスAソスXソスノ抵ソスソスラゑソスソスニゑソスソスソスGetOverlappedResultソスヨ撰ソスソスニゑソスソスソスソスフゑソスgソスソスソスニゑソスソスソスソスフゑソスソスネ?ソスニゑソスvソスソスソスフでゑソスソスソスソスAソスソスソスソスソスソスソスwソスソスソスvソスフ撰ソスソスソスフ意厄ソスソスソス謔ュソスソスソスソスナゑソスソスソスソスAソストび途ソスソスソスノゑソスソスソストゑソスソスワゑソスソスB
        ソスソスソスソスニ、ソス闢ョソスCソスxソスソスソスgソスIソスuソスWソスFソスNソスgソスノ関ゑソスソストゑソスResetEventソスソスsソスソスネゑソスソスニゑソスソスソスソスネゑソスソスフゑソスソスネ?ソスニ思ソスソスソスフでゑソスソスソスソスAソスソスソスZソスbソスgソスフタソスCソス‾ソスソスソスOソスソスヌゑソスソスナゑソスソスソスホゑソスソスソスソスフゑソスソスかソスソスネゑソスソスフでゑソスソスEソスEソスE
        
        
        ソスソスフわかソス閧ェソスソスソスソスソスト托ソスマ申ソスソスソスソスネゑソスソスフでゑソスソスソスソスAソスソスソスフ辺りおソスかソスソスノなゑソスワゑソスソスソスソス轤イソスソスソスソスソスEソスソスソスBソスソスソスヌゑソスソスソスソスソスソス閧「ソスソスソスワゑソスソスB
ソスwソスソスソスvソスソスソストゑソスmソスソスソスノ費ソスソスソスノゑソスソスソスソスAソスニゑソスソスソスソスソスソスAソスソスソスソスネゑソスソスソスナゑソスソスソスヒ。
        ソスワゑソスソスヘサソスソスソスvソスソスソスニゑソスソスソスソストゑソスソスソスソスソスソスソスソスEソスソスソスソスソスソスソスルゑソスソスソスソスソスソスソスソスニ思ソスソスソスB
        
        ソスナ近ゑソスソスソスソスソスソズ趣ソスソスXソスソス
        http://forums.belution.com/ja/cbuilder/000/002/25s.shtml
        ソスフ抵ソスソスナ紹介しソスソスMSDNソスTソスソスソスvソスソスMTTTY
        http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp
        
        ソスソスソスモ点ソスソスソスソスソスツゑソス
        http://support.microsoft.com/default.aspx?scid=kb;en-us;110148
        http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/synchronization_and_overlapped_input_and_output.asp
tetrapodソスソスソスソスフ仰ゑソスニゑソスソスソスAソスTソスソスソスvソスソスソスンて鯉ソスソスソスソスソスソスソスソスルゑソスソスソス
        ソスソスソスソスソスニ思ソスソスソスワゑソスソスBGetOverlappedResultソスヘ必ソスvソスナゑソスソス蛯、ソスB
        
        
        ソスソスソスlソスフホソス[ソスソスソスyソス[ソスWソスフソスソスソスソスNソスソスソスソスソスノ抵ソスソスソスフ鯉ソスソスソスソスネので、
        ソスソスソスLソスナグソスOソスソスソストゑソスソスソスソスソスソスソスソスB
        ソスソスソスソスソス轤ュソスリのゑソスソスソスソスがゑソスうソスニゑソスソストゑソスソスソスフと難ソスソスソスソスlソスソス
        ソスソスeソスフソスソスソスソスNソスソスソスoソスソスニ思ソスソスソスワゑソスソスB
        ソス@ソスEソスVソスソスソスAソスソスソス|ソス[ソスgソスソスソスソスソスソス@ソス同奇ソスソスハ信
        ソスソスソスソスソスAソスソスソスネ責任ソスナ参ソスlソスノゑソスソストゑソスソスソスソスソスソスソスソスB
        
        
        ソスソスソスソスワゑソスヨ係ソスネゑソスソスナゑソスソスソスソスAソスソスソスLソスナは配ソスソスヘ擾ソスソスソスソスソスソスナゑソスソスソス
        ソスネゑソスソスニ思ソスソスソスワゑソスソスBソスハに擾ソスソスソスソスソスソスナゑソスソストなゑソスソストゑソスソスソスソスヘゑソスソスソス
        ソスソスソスニ思ソスソスソスワゑソスソスソスソスAソスソスソス痰「ソスソスソストゑソスニ会ソスソスナゑソスソスフで・ソスEソスEソスB
        >charcBuf[256]="";
ソスPソス_ソスソスソスソスソスEソスEソスE
        
        switch(dEvent){
        caseEV_RXCHAR:
        
        ソスソスソスフ包ソスソスソスソスAdEventソスノは、ソスソスソスソスソスフイソスxソスソスソスgソスrソスbソスgソスソスソスnソスmソスソスソスト難ソスソスソスソスソス
        ソスソスソスソスフで、ソスソスソスソスナは趣ソス閧アソスレゑソスソスワゑソスソスB
        ifソスソスソスノゑソスソスト、
        if((dEvent&EV_RXCHAR)!=0)
        ソスニでゑソスソスソストみて会ソスソスソスソスソスソスB
        
        ソスソスソスソスナ状況変会ソスソスソスソスソスソスソスソスソスホ、RS-232Cソス|ソス[ソスgソスフオソス[ソスvソスソスソスソスソスフ設抵ソスソスbr>
        ソスソスソス{ソスIソスノ間茨ソスソスソストゑソスソスソスフでは?
        
        ソスネ擾ソスB
ソスソスソスソスソスソスニは別なゑソスナゑソスソスソスソスAソスソスソスフ搾ソスソスナ非同奇ソスソスノゑソスソス驛
        ソスソスソスbソスgソスソスソスト会ソスソスソスソスソスソスソスフでゑソスソス蛯、ソスソスソスB
        
        ソスソスソスノ趣ソスMソスマみのデソス[ソス^ソス数バソスCソスgReadFileソスナ読むゑソスソスソスソスソス
        ソスソスソスソスヒ・ソスEソスEソスBソスソスソスハに非同奇ソスソスgソスソスネゑソスソスナ組ソスソスナゑソスソスソスソスソスl
        ソスネ気ソスソスソスソスソスソスソスナゑソスソスソスソスB
>WaitCommEvent(h_Com,&dEvent,NULL);
        
        ソスソスソスソスソスナ使ソスソスソスだゑソスソスソス同奇ソスソスKソスvソスナゑソスソスソスヒ。^^;
        ソスネに鯉ソスソスソスソストゑソスだ、ソスソスソスB
ソスソスソスXソスソスソスソスソスソスソスソスソスソスソスンなゑソスソスソスAソスソスソスeソスリに本ソスソスソスノゑソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
        ソス告ゑソスソスxソスソストゑソスソスワゑソスソスト托ソスマ申ソスソスソスごゑソスソスソスソスワゑソスソスソスナゑソスソスソスソスB
        
        ソスニゑソスソスソスソスフは、ソスソスソスフ趣ソスMDLLソスRソス[ソスhソスフテソスXソスgソスpソスノ使ソスソスソストゑソスソスソスソスfソス[ソス^ソスソスソスMソスpソスAソスvソスソスソスソスソスノゑソスソスソスネゑソスoソスOソスソスソスソスソス驍アソスニゑソスソスソスソスソスソスソスソスソスソスソスソスワゑソスソスト・ソスEソスEソスOソスOソスG
        ソスソスソスソスソスソスフ修ソスソスソスノ追ゑソスソストゑソスソスソスワゑソスソスソスソスB
        
        
        ソスソスソスMソスソスソス直ゑソスソスソスソスニゑソスソスソスAソスソスソスソスソスヤ思ソスソスソス謔、ソスノ趣ソスMソスソスソスナゑソスソスソス謔、ソスノなゑソスワゑソスソスソスソスB
        ソスソスソスAソスンなゑソスソスソスフゑソスソス@ソスソスソスフ通ゑソスAソスネゑソスソスナゑソスソスソス謔、ソスノなゑソスソスソスソスフゑソスソスソスCソス}ソスCソス`ソスソスソスソスナゑソスソストなゑソスソスフゑソスソス黷オソスソスソスニゑソスソスソスナゑソスソスEソスEソスE
        
        ソスソスtetrapodソスソスソスソス
        ソスミ介しソストゑソスソスソスソスソスソスソスソスソスソスyソス[ソスWソスqソスソスソスソスソスワゑソスソスト、ソスニりあソスソスソスソスソスソスソスモ点ソスニゑソスソスト上げソスソスソストゑソスソスソス
        ソスyReadFileソスEWriteFileソスソスソスノ起ソスソスソス闢セソスソスGソスソスソス[ソスzソスiOVERLAPPEDソス¥ソスソスソスフゑソスoffsetソスAoffsethighソスフ設抵ソスjソスノつゑソスソストは対策してみまゑソスソスソスソスB
        ソズ趣ソスソスXソスソスソスフ包ソスソスソスfAbortOnErrorソスネどにつゑソスソストゑソス
        http://www.madlabo.com/mad/gid/research/rs232/win32api.htm
        ソスネどゑソスQソスlソスノ修ソスソスソスソスソスナゑソスソスB
        
        ソスソスソスミでゑソスさゑソス
        GetOverlappedResultソスヘゑソスヘゑソスKソスvソスナゑソスソスソスソスB
        ソスwソスソスソスvソスソスソスソスソスソスJソスソスソスルど抵ソスソス゚てみゑソスソスフでゑソスソスソスソスAソスソスソスフ認ソスソスソスナは「ソス同奇ソスソスCソスxソスソスソスgソスフ擾ソスソスソスソスソスソスIソスソスソスソストゑソスソス驍ゥソスヌゑソスソスソスソスソスソスmソスFソスナゑソスソスソスヨ撰ソスソスvソスニゑソスソスソスソスソスソスソスソスナゑソスソス蛯、ソスソスソスEソスEソスE
        ソスgソスソスソスヌゑソスソスがソスソスソスワゑソス謔ュソスかソスソスネゑソスソスソスソスソスソスナゑソスソスソスソスAソスソスソスロのコソス[ソスhソスノ追会ソスソスソスソストみゑソスソスソスフゑソスソスソスフソスソスXソスノ擾ソスソスソスソスワゑソスソスフで、ソスソスソスソスソスソスソスネとゑソスソスがソスソスソスソスワゑソスソスソスソス轤イソスwソスEソスソスソスソスソスソスソスソスニゑソスソス閧ェソスソスソスソスソスナゑソスソスB
        
        ソスソスソスソスソストゑソスソスソスソスソスソスソスソスソスソスLソス[ソスソスソス[ソスhソスナグソスOソスソスソストみまゑソスソスソスソスソスAソスソスソスソスソスナは抵ソスソスラ尽ソスソスソスソスソスソスソスツゑソスソスナゑソスソスワゑソスソスソスソスソスソスOソスOソスGソスソスソスノ参ソスlソスノなりそソスソスソスネペソス[ソスWソスソスソスソス_ソスソスソスソスソスツゑソスソスソスソスワゑソスソスソスソスBソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
        ソスソスソスソスニ、ソスzソスソスフ擾ソスソスソスソスソスソスヘゑソスソスソスソスソスソスmemsetソスソスgソスソスソス謔、ソスノゑソスソスワゑソスソスソスソスBソスネ前ソスフ包ソスソス@ソスナゑソスzソスソスフソスソスソスソスソスソスソスソスソスソストみゑソスソス0ソスNソスソスソスAソスソスソスソストゑソスソスソス謔、ソスネので托ソスソスvソスソスソスネ、ソスニ思ソスソスソストゑソスソスワゑソスソストゑソスソスソスソスフでゑソスソスソスソスソスヘゑソスmソスソスソスノ擾ソスソスソスソスソスソスラゑソスソスナゑソスソスソスソスヒ。ソスソスソスンまゑソスソスソスB
        ソスソスソスネみに搾ソスソスソス同奇ソスソスナシソスソスソスAソスソスソスハ信ソスソスソスソスソスモ義ソスニゑソスソスソスソスフは、ソスuソスソスソスソスソスソスxソスフ大きソスソスソスフデソス[ソス^ソスソスAソスソスソスソスソスト趣ソスMソスソスソス骼橸ソスノ、ソスソスソスネゑソスソスニゑソスソスMソスソスソス゚の趣ソス閧アソスレゑソスソスソスソスソスソスソスソス謔、ソスノ」ソスニゑソスソスソスソスソスソスニゑソスソスソス齧スソスソスニなゑソスソストゑソスソスワゑソスソスB
        ソスソスMソスソスソス゚はとりこソスレゑソスソスソスソスニゑソスソスMソスfソス[ソス^ソスソスソス閧アソスレゑソスソストゑソスソスソスソス迚スソスフ意厄ソスソスソスネゑソスソスフでゑソスソスソスソスEソスEソスEソスOソスOソスG
        
        ソスソスソスIソスVソスソスソスEソスソスソスソス
        ソスソスソスwソスEソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスソスソスソスソスMソスCソスxソスソスソスgソスソスEV_RXCHARソスソスソスソスソスナなゑソスソスAソスソスソスソスソスソス_ソスソスソスヌ会ソスソスソスソスソスツゑソスソスナゑソスソスソスソスフで、ソスソスソスソスソスソスヘゑソスソスソスソスソスニ対会ソスソスソスソスソスソスソスソスワゑソスソスソスソスB
ソスCソスソスソスソスソスソスソスソスRソス[ソスhソスフ一部ソスナゑソスソスB
        ソス|ソス[ソスgソスIソス[ソスvソスソスソスソスソスフ設抵ソスヘ【fAbortOnErrorソスzソスソスtrueソスiソスソスソスソスソスソスヤ)ソスフまま、ソスニゑソスソスソスソスソスソスニ以外ソスヘ(falseソスフ包ソスソスソスソスソスソスソスソス鼾ソスソスソスソス閧サソスソスソスネので)ソスソスソスvソスソスソスニ思ソスソスソスワゑソスソスBソスiソスpソスソスソスeソスBソス竭ャソスxetcソスj
        
        ソスソスソスソスMソスXソスソスソスbソスhソスソスソス
        
        DWORDWINAPICOM_Thread(LPVOIDpData)
        {
        DWORDdEvent=0;
        DWORDdError=0;
        DWORDdByte=0;
        DWORDdtrByte=0;
        BOOLb=FALSE;
        COMSTATComstat;
        charcBuf[256];
        memset(cBuf,0,sizeof(cBuf));
        //ソスソスOVERLAPPEDソス¥ソスソスソスソスcomopソスArevopソスヘグソスソスソス[ソスoソスソスソスナ宣言
        
        comop.hEvent=CreateEvent(NULL,true,false,NULL);
        revop.Offset=0;
        revop.OffsetHigh=0;
        
        while(bThread){ //ソスソスソスXソスソスソスbソスhソスメ難ソスソスソスソスソスtrueソスナゑソスソスソスboolソス^ソスtソスソスソスO
        WaitCommEvent(h_Com,&dEvent,&comop);
        if(GetLastError()==ERROR_IO_PENDING){
        //ソスソスWaitCommEventソスヨ撰ソスソスソスヘ擾ソスソスERROR_IO_PENDINGソスネので、
        //ソス@ソス@ソスCソスxソスソスソスgソスソスMソスソスソスソスソスソスソスIソスソスソスワで待ゑソス
        GetOverlappedResult(h_Com,&comop,&dtrByte,true);
        }
        
        //ソスGソスソスソス[ソスソスソスソス
        if(dEvent&EV_ERR){
        //ソスGソスソスソス[ソスソスソスソスソスソスソスAソスGソスソスソス[ソスハ知ソスソスソスソスソスソスヌ会ソスソスソスソスソス¥ソスソス
        }
        //ソスソスソスMソスソスソスソス
        if(dEvent&EV_TXEMPTY){
        //ソスfソス[ソス^ソスソスソスMソスソスソスAソスソスソスMソスソスソスソスソスハ知ソスソスけ趣ソスソスソスソスソス迴茨ソスソスソスソスソスソスソス¥ソスソス
        //ソスソスソスP
        }
        //ソスソスMソスCソスxソスソスソスgソスソスソスソス
        if(dEvent&EV_RXCHAR){
        ClearCommError(h_Com,&dError,&Comstat);
        if(Comstat.cbInQue){
        b=ReadFile(h_Com,cBuf,Comstat.cbInQue,&dByte,&revop);
        //ソスソスソスソスソスナ趣ソスMソスfソス[ソス^ソスソスソスソスソスソスソスソスソス¥ソスソス
        }
        }
        ResetEvent(comop.hEvent);
        }
        
        CloseHandle(comop.hEvent);
        
        return0;
        }
        
        
        ソスネ擾ソスナゑソスソスB
        ソスソスソスPソスフ包ソスソスソスソスナゑソスソスソスソスAGetOverlappedResultソスヨ撰ソスソスソスヌ会ソスソスソスソスソスOソスヘ、ソスソスソスソスソス轤ゥソス迚スソスソスソスfソス[ソス^ソス送信ソスソスソスソスニゑソスソスフデソス[ソス^ソスソスソスmソスソスソスノテソスXソスgソスpソスAソスvソスソスソスナ受け趣ソスソスソストゑソス轤ヲソスネゑソスソスソスホ永ソスvソスソスEV_TXEMPTYソスCソスxソスソスソスgソスソスソスNソスソスソストゑソスソスワゑソスソスニゑソスソスソスソスsソス合ソスソスソスNソスソスソストゑソスソスワゑソスソスソスソスBソスiソスハ信ソスソスソスソスソスソスソスネゑソスソスフにデソス[ソス^ソス送信ソスソスソストゑソスソスワゑソスソスニ・ソスEソスEソスニゑソスソスソスソスモ厄ソスソスナゑソスソスj
        ソスナゑソスソスソスソスAソスニりあソスソスソスソスGetOverlappedResultソスフ托ソスlソスソスソスソスソスソスtrueソスニゑソスソスト追会ソスソスソスソス驍アソスニで、ソスソスソスソスソスナ待機ソスソスソストゑソスソスソスソス謔、ソスネので托ソスソスvソスソスソスネ?ソスニゑソスソスソスソスソスソスソスソスナゑソスソスB
        ソスiソスソスソスソスニゑソスソストゑソスニりあソスソスソスソスソスソスソスソスソスフ思ソスソスソス謔、ソスノは難ソスソスソスソストゑソスソスソストゑソスソスワゑソスソスAソス¥ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスネゑソスソスナゑソスソスソスソスEソスEソスEソスj
        
        ソスソスソスソスソスナ、ソス`ソスソスソス^ソスソスソスニなゑソスソスネゑソスソスソスニゑソスソスiソスワなゑソスソスソスソスソスソスソスソスAソスハ信DLLソスヘ鯉ソスノ回して違うソスソスニゑソスソスソスソス謔、ソスノとゑソスソスソスソスソスソス゚ゑソスソスソスソストゑソスソスワゑソスソスワゑソスソスソスソスEソスEソスE
        ソスワゑソス20ソスoソスCソスgソスソスソスxソスフデソス[ソス^ソスフゑソスソスソスソスeソスXソスgソスソスソスソスソスナゑソスソストゑソスソスネゑソスソスフで、ソスソスソスフ趣ソスソス_ソスナは難ソスソスソスソストゑソスソスソストゑソスフでゑソスソスソスソスソスソス黷ゥソスソスヌゑソスソスネるかソスかソスソスネゑソスソスナゑソスソスソスソスソスソスノ心ソスcソスソスナゑソスソスB
        ソスナゑソスソスソスソスbソスソスソスヘゑソスソスソスソスソスフ搾ソスニに熱ソスモゑソスXソスソスソス驍アソスニゑソスソスナゑソスソスネゑソスソスソスソスソスソスナゑソスソスフで、ソスbソスソスIソスノ会ソスソスソスニゑソスソスソスソス`ソスソスソス轤ケソストゑソスソスソスソスソスソスソスソスソスソスソスソスニ思ソスソスソスワゑソスソスB
        
        ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスソスソスソスソスソスソスソスソスソスソスXソスAソスソスソス]ソスソスソスソスソストゑソスソスワゑソスソスワゑソスソスソスソスソスソスマ申ソスソスソスソスネゑソスソスナゑソスソスB
        ソスト度ソスソスソスソスソスソスフ搾ソスニに趣ソスソス|ソスソスソスソス驍アソスニになゑソスワゑソスソスソスソスソスAソスソスソスソスソスニまゑソスソスヌにぶゑソスソスソスソスソスソス閧サソスソスソスナゑソスソスフで、ソスソスソスソスネゑソスソス轤サソスフ趣ソスソスヘどゑソスソスソスソスソスソスヘ添ソスソスソスソスソスソスソスソスソスソスソスソスニ奇ソスソスソスソスソスナゑソスソスB
        ソスソスソスソスソスヤ奇ソスソスソスソストソスソスXソスソスソストゑソスソスソスソスソスソスソスAソス{ソスソスソスノゑソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB
ソスソスソスソスソスソスソスマみで、ソスソスソストなゑソスソスソスソスソスソスソスソスワゑソスソスソス
        ソスソスソスソスWaitForSingleObjectソスソスgソスソスソスト終ソスソスソスメゑソスソスソスソスソス
        GetOverlappedResultソスナ終ソスソスソスmソスFソスソスソストまゑソスソスB
        
        WaitForSingleObjectソスソスgソスソスソスソスソスフは、CPUソスソスソスソス
        ソスyソスソスソスフゑソスソス゚でゑソスソスB