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

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

?? cedialer.c

?? Cellcore. ExTAPI,ExTAPIAsync,SMS,TAPI
?? C
?? 第 1 頁 / 共 4 頁
字號:
        DialogBox (g_hInst, 
            MAKEINTRESOURCE(IDD_CEDIALER), 
            NULL, 
            (DLGPROC) DialerDlgProc);
    }
    
    
    return TRUE;
}
      
/***********************************************************************
      
        FUNCTION: 
        InitApplication
        
          PURPOSE: 
          Initialize application.
          
***********************************************************************/
 BOOL InitApplication(
     HINSTANCE hInstance
     )
{
     
     WNDCLASS wc;
     BOOL f;
     
     // Register application main window 
     wc.style         = CS_HREDRAW | CS_VREDRAW;
     wc.lpfnWndProc   = (WNDPROC) MainWndProc;        
     wc.cbClsExtra    = 0;
     wc.cbWndExtra    = 0;
     wc.hIcon        = LoadIcon (hInstance, MAKEINTRESOURCE(IDI_CEDIALER));
     wc.hInstance     = hInstance;
     wc.hCursor       = NULL;
     wc.hbrBackground = (HBRUSH) GetStockObject( WHITE_BRUSH );
     wc.lpszMenuName  = NULL;
     wc.lpszClassName = g_szAppName;
     
     f = (RegisterClass(&wc));
     
     return f;
     
 }
      
/***********************************************************************
      
FUNCTION: 
WinMain

PURPOSE: 
Called by the system as the initial entry point for this Windows 
CE-based application.
          
***********************************************************************/
int WINAPI WinMain(
    HINSTANCE hInstance, 
    HINSTANCE hPrevInstance, 
    LPTSTR lpCmdLine, 
    int nCmdShow
    )
{
    
    HWND hwndCeDialer;
    
    // If CeDialer.exe is running, then give the focus to the window.
    hwndCeDialer = FindWindow (g_szAppName, g_szTitle); 
    if (hwndCeDialer) 
    {
        SetForegroundWindow (hwndCeDialer);    
        return 0;
    }
    
   
    
    if ( !InitInstance( hInstance,  nCmdShow )  )
    {
        return (FALSE);
    } 
    
    return 0;     
}
      
      
/***********************************************************************
      
FUNCTION: 
lineCallbackFunc

PURPOSE: 
This is a callback function invoked to determine status and events on
the line device, addresses, or calls. 
          
***********************************************************************/
VOID CALLBACK lineCallbackFunc (
    DWORD hDevice, 
    DWORD dwMsg, 
    DWORD dwCallbackInstance,
    DWORD dwParam1, 
    DWORD dwParam2, 
    DWORD dwParam3
    )
{
          
    BOOL bCloseLine = FALSE;
    LPTSTR lpszStatus;
    lpszStatus = TEXT(" ");
          
    switch (dwMsg)
          {
          case LINE_CALLSTATE:  // Sent after change of call state
              
              // dwParam1 is the specific CALLSTATE change that is occurring.
              switch (dwParam1) 
              {
              case LINECALLSTATE_DIALTONE:
                  lpszStatus = TEXT("Dial tone");
                  break;
                  
              case LINECALLSTATE_DIALING:
                  lpszStatus = TEXT("Dialing...");
                  break;
                  
              case LINECALLSTATE_PROCEEDING:
                  lpszStatus = TEXT("Dialing completed, call proceeding.");
                  break;
                  
              case LINECALLSTATE_RINGBACK:
                  lpszStatus = TEXT("Ring back");
                  break;
                  
              case LINECALLSTATE_CONNECTED:
                  lpszStatus = TEXT("Connected");
                  break;
                  
              case LINECALLSTATE_BUSY:
                  lpszStatus = TEXT("Line busy, shutting down.");
                  bCloseLine = TRUE;
                  break;
                  
              case LINECALLSTATE_IDLE:
                  lpszStatus = TEXT("Line is idle");
                  break;
                  
              case LINECALLSTATE_SPECIALINFO:
                  lpszStatus =TEXT("Special Information, couldn't dial number");
                  bCloseLine = TRUE;
                  break;
                  
              case LINECALLSTATE_DISCONNECTED:
                  {
                      LPTSTR lpszDisconnected;
                      lpszDisconnected = TEXT(" ");
                      
                      switch (dwParam2)
                      {
                      case LINEDISCONNECTMODE_NORMAL:
                          lpszDisconnected = TEXT("Remote party disconnected");
                          break;
                          
                      case LINEDISCONNECTMODE_UNKNOWN:
                          lpszDisconnected = TEXT("Disconnected: Unknown reason");
                          break;
                          
                      case LINEDISCONNECTMODE_REJECT:
                          lpszDisconnected = TEXT("Remote Party rejected call");
                          break;
                          
                      case LINEDISCONNECTMODE_PICKUP:
                          lpszDisconnected = 
                              TEXT("Disconnected: Local phone picked up");
                          break;
                          
                      case LINEDISCONNECTMODE_FORWARDED:
                          lpszDisconnected = TEXT("Disconnected: Forwarded");
                          break;
                          
                      case LINEDISCONNECTMODE_BUSY:
                          lpszDisconnected = TEXT("Disconnected: Busy");
                          break;
                          
                      case LINEDISCONNECTMODE_NOANSWER:
                          lpszDisconnected = TEXT("Disconnected: No Answer");
                          break;
                          
                      case LINEDISCONNECTMODE_BADADDRESS:
                          lpszDisconnected = TEXT("Disconnected: Bad address");
                          break;
                          
                      case LINEDISCONNECTMODE_UNREACHABLE:
                          lpszDisconnected = TEXT("Disconnected: Unreachable");
                          break;
                          
                      case LINEDISCONNECTMODE_CONGESTION:
                          lpszDisconnected = TEXT("Disconnected: Congestion");
                          break;
                          
                      case LINEDISCONNECTMODE_INCOMPATIBLE:
                          lpszDisconnected = TEXT("Disconnected: Incompatible");
                          break;
                          
                      case LINEDISCONNECTMODE_UNAVAIL:
                          lpszDisconnected = TEXT("Disconnected: Unavailable");
                          break;
                          
                      case LINEDISCONNECTMODE_NODIALTONE:
                          lpszDisconnected = TEXT("Disconnected: No dial tone");
                          break;
                          
                      default:
                          lpszDisconnected = TEXT("Disconnected: Unknown reason");
                          break;
                      } // end switch (dwParam2) 
                      
                      bCloseLine = TRUE;
                      lpszStatus = lpszDisconnected;
                      break;
                  } // end case LINECALLSTATE_DISCONNECTED:
      }   // end switch (dwParam1) 
      
      if (g_hwndDial)
          SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, WM_SETTEXT, 
          0,(LPARAM)lpszStatus);
      
      if (bCloseLine)
      {
          CurrentLineClose ();
          if (g_hwndDial)
              SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
      }
      break;   
      
    case LINE_LINEDEVSTATE:
        
        switch (dwParam1)
        {
        case LINEDEVSTATE_RINGING:
            lpszStatus = TEXT("Ringing");
            break;
            
        case LINEDEVSTATE_OUTOFSERVICE:
            lpszStatus = TEXT("The line selected is out of service.");
            if (g_hwndDial)
                SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, 
                WM_SETTEXT,0,(LPARAM)lpszStatus);
            CurrentLineClose ();
            if (g_hwndDial)
                SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
            break;
            
        case LINEDEVSTATE_DISCONNECTED:
            lpszStatus = TEXT("The line selected is disconnected.");
            if (g_hwndDial)
                SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, 
                WM_SETTEXT,0,(LPARAM)lpszStatus);
            CurrentLineClose ();
            if (g_hwndDial)
                SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
            break;
            
        case LINEDEVSTATE_MAINTENANCE:
            lpszStatus = TEXT("The line selected is out for maintenance.");
            if (g_hwndDial)
                SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, 
                WM_SETTEXT,0,(LPARAM)lpszStatus);
            CurrentLineClose ();
            if (g_hwndDial)
                SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
            break;
            
        case LINEDEVSTATE_TRANSLATECHANGE:
            break;
            
        case LINEDEVSTATE_REMOVED:
            ErrorBox (
                TEXT("The Line device has been removed; no action taken."));
            break;
            
        case LINEDEVSTATE_REINIT:
            {
                // This usually means that a service provider has changed in 
                // such a way that requires TAPI to REINIT. Note that there 
                // are both soft REINITs and hard REINITs. Soft REINITs do not
                // require a full shutdown but an informational change that
                // historically required a REINIT to force the application to
                // deal with.  TAPI API Version 1.3 applications require a 
                // full REINIT for both hard and soft REINITs.
                
                switch(dwParam2)
                {
                    // This is the hard REINIT. TAPI is waiting for everyone to
                    // shut down. Our response is to immediately shut down any 
                    // calls, shut down our use of TAPI and notify the user.
                case 0:
                    if (MessageBox (
                        g_hwndMain, 
                        TEXT("Tapi line configuration has been changed. ")
                        TEXT("You have to shut down CeDialer to\n")
                        TEXT("re-initialize the use of tapi.dll. Do ")
                        TEXT("you want to shut down CeDialer now?"),
                        TEXT("Warning"), 
                        MB_YESNO) == IDYES)
                    {
                        lineShutdown (g_hLineApp);
                        DestroyWindow (g_hwndMain);
                    }
                    
                    break;
                    
                case LINE_CREATE:
                    lineCallbackFunc (hDevice, dwParam2, dwCallbackInstance, 
                        dwParam3, 0, 0);
                    break;
                    
                case LINE_LINEDEVSTATE:
                    lineCallbackFunc (hDevice, dwParam2, dwCallbackInstance, 
                        dwParam3, 0, 0);
                    break;
                    
                    // There might be other reasons to send a soft REINIT.
                    // No need to shut down for these reasons.
                default:
                    break;
                }
            }
            
        default:
            break;
        }
        break;
        
        case LINE_REPLY:
            
            // Reply from the lineMakeCall function.
            if ((LONG)dwParam1 == g_MakeCallRequestID)
            {
                // If an error occurred on making the call.
                if (dwParam2 != ERR_NONE)
                {
                    lpszStatus = TEXT("Closing line");
                    if (dwParam2 == LINEERR_CALLUNAVAIL)
                        lpszStatus = TEXT("The line is not available.");
                    
                    if (g_hwndDial)
                        SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, 
                        WM_SETTEXT, 0,(LPARAM)lpszStatus);
                    CurrentLineClose ();
                    
                    if (g_hwndDial)
                        SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
                }
            }
            
            break;
            
        case LINE_CREATE:
            
            // dwParam1 is the device identifier of the new line. 
            if (dwParam1 >= g_dwNumDevs) 
            {
                DWORD dwLineID;
                LINEINFO *lpLineInfo;
                
                g_dwNumDevs = dwParam1 + 1;
                
                // Allocate a buffer for storing LINEINFO for all the lines.
                if (!(lpLineInfo = (LPLINEINFO) LocalAlloc (
                    LPTR, 
                    sizeof (LINEINFO) * g_dwNumDevs)))
                {
                    break;
                }
                
                // Assume we just add a new line, the lines are sequential and
                // the new line is the last one.
                for (dwLineID = 0; dwLineID < dwParam1; ++dwLineID)
                {
                    lpLineInfo[dwLineID] = g_lpLineInfo[dwLineID];
                }
                
                // Get the new line information.
                GetLineInfo (dwParam1, &lpLineInfo[dwParam1]);
                
                LocalFree (g_lpLineInfo);
                g_lpLineInfo = lpLineInfo; 
            }
            break;
            
        case LINE_CLOSE:
            if (g_CurrentLineInfo.hLine == (HLINE) hDevice)
            {
                lpszStatus = TEXT("Closing line");
                if (g_hwndDial)
                    SendDlgItemMessage(g_hwndDial, IDC_STATUSMESSAGE, 
                    WM_SETTEXT, 0,(LPARAM)lpszStatus);
                CurrentLineClose ();
                
                if (g_hwndDial)
                    SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
            }
            break;
            
        case LINE_ADDRESSSTATE:
        case LINE_CALLINFO:
        case LINE_DEVSPECIFIC:
        case LINE_DEVSPECIFICFEATURE:
        case LINE_GATHERDIGITS:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲视频一区二区| 1024亚洲合集| 国内偷窥港台综合视频在线播放| 国产精品欧美综合在线| 亚洲美女视频在线| 一本久久精品一区二区| 一区二区三区国产精华| 欧美日韩高清一区| 国产综合久久久久久久久久久久| 精品久久久久一区| 91浏览器打开| 九九久久精品视频 | 3751色影院一区二区三区| 韩日av一区二区| 亚洲视频在线一区二区| 日韩视频一区二区三区| 不卡一区二区在线| 久久精品国产久精国产爱| 亚洲欧美福利一区二区| 欧美一级片在线| 91老师片黄在线观看| 国产精品一区二区免费不卡 | 亚洲成av人片在线| 欧美国产日韩精品免费观看| 欧美日韩日日摸| 91在线国产福利| 国产成人精品免费| 激情欧美日韩一区二区| 午夜精品福利一区二区蜜股av| 欧美极品xxx| 国产精品久久精品日日| 国产欧美一区二区在线观看| 欧美一区二区黄| 日韩一区二区三区在线| 欧美一区二区三区在线观看视频| 色噜噜狠狠色综合中国| 91福利国产精品| 欧洲一区二区av| 欧美性大战久久久久久久蜜臀| 色偷偷88欧美精品久久久| 色哟哟亚洲精品| 91精品国产欧美一区二区成人| 欧美午夜不卡视频| 欧美日韩一区三区四区| 欧美另类videos死尸| 欧美巨大另类极品videosbest | 国产精品亚洲午夜一区二区三区| 精品国产第一区二区三区观看体验| 99久久精品国产观看| 国产尤物一区二区在线| 国产一区二区三区电影在线观看 | 成人午夜视频福利| 美女视频黄a大片欧美| 美国毛片一区二区三区| 美女国产一区二区三区| 久久精品av麻豆的观看方式| 激情综合色综合久久| 国产福利视频一区二区三区| 99精品视频中文字幕| 欧美日韩在线精品一区二区三区激情| 欧美日韩一区二区三区不卡| 欧美精品乱码久久久久久| 日韩精品一区二区在线| 中文字幕一区二区三区四区不卡 | 欧美精品一区二区三区很污很色的| 欧美剧情片在线观看| 国产精品国产成人国产三级 | 欧美日韩国产综合一区二区三区| 4438成人网| 亚洲精品视频在线观看网站| 日韩—二三区免费观看av| 91在线高清观看| 欧美精品一区二区三区蜜桃视频| 国产精品久久久久9999吃药| 裸体一区二区三区| 欧美在线播放高清精品| 国产日韩综合av| 国产麻豆精品在线| 精品久久久久久久久久久久久久久 | 国产又黄又大久久| 免费观看日韩av| 91免费观看在线| 精品国产乱码久久久久久老虎| 精品日韩一区二区三区免费视频| 亚洲国产视频一区二区| 91麻豆视频网站| 亚洲欧美日韩国产综合在线| 日本aⅴ精品一区二区三区| 欧洲人成人精品| 日日欢夜夜爽一区| 欧美人xxxx| 免费观看久久久4p| 亚洲精品在线三区| 粉嫩欧美一区二区三区高清影视| 日韩欧美国产系列| 九色综合国产一区二区三区| 久久综合色鬼综合色| 国产精品91一区二区| 一区二区三区免费在线观看| 99re热视频这里只精品| 亚洲不卡一区二区三区| 精品少妇一区二区三区日产乱码 | 精品毛片乱码1区2区3区| 天天做天天摸天天爽国产一区| 日韩欧美国产一区二区三区 | 欧美日韩免费一区二区三区| 亚洲超碰97人人做人人爱| 欧美日韩视频在线一区二区| 精品一区二区三区免费观看| 亚洲日本在线a| 精品国产乱码久久久久久1区2区| 91视频www| 国产美女精品一区二区三区| 亚洲欧美成人一区二区三区| 欧美电影精品一区二区| 欧美专区亚洲专区| 国产老妇另类xxxxx| 亚洲va中文字幕| 亚洲人一二三区| 国产日韩欧美精品一区| 在线成人高清不卡| 欧亚洲嫩模精品一区三区| 国产99一区视频免费| 看电视剧不卡顿的网站| 亚洲国产精品综合小说图片区| 久久人人爽人人爽| 久久久久久久电影| 久久久亚洲国产美女国产盗摄| 欧美一区二区成人| 欧美电影在线免费观看| 欧美日韩激情一区二区三区| 91麻豆精东视频| 欧美伊人精品成人久久综合97 | 男女男精品视频网| 免费在线看成人av| 国产一区三区三区| 懂色av一区二区三区免费看| 不卡av在线网| 欧美日韩激情一区二区三区| 99久久国产综合色|国产精品| 看电视剧不卡顿的网站| 成人av在线影院| 欧美精品vⅰdeose4hd| 精品国产伦一区二区三区观看方式 | 免费观看一级特黄欧美大片| av在线不卡电影| 欧美一卡在线观看| 亚洲综合一区二区| 波多野结衣91| 国产午夜精品在线观看| 卡一卡二国产精品| 欧美老肥妇做.爰bbww| 一区二区三区在线视频免费| 国产成人免费视频网站| 欧美成人综合网站| 麻豆久久一区二区| 日韩欧美亚洲一区二区| 日韩精品福利网| 欧美蜜桃一区二区三区| 香蕉久久一区二区不卡无毒影院| 99久久精品国产毛片| 亚洲欧美电影一区二区| 色婷婷av一区二区三区大白胸 | 亚洲毛片av在线| 91成人在线免费观看| 一区二区欧美在线观看| 欧美日韩久久久| 五月天一区二区三区| 日韩一区二区在线免费观看| 蜜乳av一区二区| 欧美国产精品一区二区三区| aaa欧美色吧激情视频| 一区二区三区在线观看动漫| 欧美色男人天堂| 狠狠色丁香婷综合久久| 国产精品家庭影院| 欧美视频一区二区三区四区 | 欧美国产精品专区| 欧美网站一区二区| 国产精品资源在线看| 亚洲麻豆国产自偷在线| 日韩欧美一区在线观看| 丁香网亚洲国际| 五月激情综合色| 国产精品色眯眯| 日韩三级中文字幕| 成人app在线观看| 国产精品18久久久久久久网站| 亚洲精品亚洲人成人网| 亚洲精品在线一区二区| 欧美精品一级二级三级| 99久久精品一区| 成人手机在线视频| 精品一区二区在线免费观看| 日韩在线一区二区| 一级做a爱片久久| 又紧又大又爽精品一区二区| 国产欧美精品一区二区色综合| 日韩免费视频线观看| 日韩一区和二区|