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

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

?? page1.cpp

?? 配套《網絡通信編程實用案例精選》源代碼。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			sCurrentProvider, "LastPhone", L2S(i));
			bNeedReload = TRUE;
		}
	}
	if (bNeedReload)
	{
		QueryConnections();
		QueryPhones(sCurrentProvider);
	}
	CString s1, s2;
	aaa = sss;
	aaa.MakeUpper();
	i = aaa.Find("/D");
	if (i != -1) OnDial();
	return TRUE;
}

void CPage1::SetButtonsState()
{
	CString sss;
	GetDlgItem(IDC_BUTTON_TEL_ADD)->EnableWindow(!sCurrentProvider.IsEmpty());
	GetDlgItem(IDC_BUTTON_TEL_EDIT)->EnableWindow(bPhone);
	GetDlgItem(IDC_BUTTON_TEL_DEL)->EnableWindow(!bDialing && bPhone);
	GetDlgItem(IDC_BUTTON_PROV_DEL)->EnableWindow(!bDialing);
	UINT pn = atoi(theApp.GetIniString(sCurrentProvider, "Phones", "0"));
	if (pn <= 1) GetDlgItem(IDC_BUTTON_TEL_DEL)->EnableWindow(FALSE);
	GetDlgItem(IDC_COMBO_PROVIDER)->EnableWindow(!bDialing);
	if (!bDialing && bPhone)
	sss.LoadString(IDS_DIAL);
	else
	sss.LoadString(IDS_HANGUP);
	GetDlgItem(IDC_DIAL)->SetWindowText(sss);
	m_ProgressTimeout.ShowWindow(SW_HIDE);
	BOOL m_bMaxWaitTime = atol(theApp.GetIniString(gchMain, gchEnableTimeout, "0"));
	if (m_bMaxWaitTime && bDialing && !bConnected)
	{
		m_ProgressTimeout.ShowWindow(SW_SHOW);
	}
	m_ProgressTimeout.SetPos(0);
}

//載入默認得電話號碼
BOOL CPage1::LoadDefautPhoneNumber(CString sEntryName)
{
//
typedef DWORD (WINAPI* RGEPA)
(LPCTSTR lpszPhonebook,		// pointer to full path and filename of 
							// phone-book file
  LPCTSTR lpszEntry,		// pointer to an entry name
  LPRASENTRY lpRasEntry,	// buffer that receives entry information
  LPDWORD lpdwEntryInfoSize,	// size, in bytes, of the lpRasEntry 
								// buffer
  LPBYTE lpbDeviceInfo,			// buffer that receives device-specific 
								// configuration information
  LPDWORD lpdwDeviceInfoSize	// size, in bytes, of the 
								// lpbDeviceInfo buffer
);
// load library
	HINSTANCE hLib = LoadLibrary(_T("RASAPI32.DLL"));
	if (NULL == hLib) return FALSE;
	RGEPA rgepa = (RGEPA) GetProcAddress(hLib, "RasGetEntryPropertiesA");
	if (NULL == rgepa)
	{
		::FreeLibrary(hLib);
		return FALSE;
	}
	RASENTRY RasEntry;
	DWORD dw = sizeof(RASENTRY);
	ZeroMemory(&RasEntry, dw);
	RasEntry.dwSize = dw;
	DWORD ret = rgepa(NULL, sEntryName, &RasEntry, &dw, NULL, NULL);
	::FreeLibrary(hLib);
	if (ret != 0) return FALSE;
	CString phone;
	if (RasEntry.dwfOptions & RASEO_UseCountryAndAreaCodes)
	{
		phone = "8w";
		phone += RasEntry.szAreaCode;
		phone += RasEntry.szLocalPhoneNumber;
	}
	else
	phone = RasEntry.szLocalPhoneNumber;
	UINT pn = 1;
	theApp.SetIniString(sEntryName, "Phones", L2S(pn));
	theApp.SetIniString(sEntryName,"Phone" + L2S(pn), phone);
	return TRUE;
}

//掛斷撥號
BOOL CPage1::HangUp(BOOL bExitApp)
{
	DWORD dwRet;
	RASCONNSTATUS rStatus;
	ZeroMemory(&rStatus, sizeof(RASCONNSTATUS));
	rStatus.dwSize = sizeof(RASCONNSTATUS);
	dwRet = RasGetConnectStatus(hRasConn, &rStatus);
	if ((dwRet != ERROR_INVALID_HANDLE) || (bDialNow))
	{
		bDialNow = FALSE;
		theApp.FinishSession();
		//掛斷連接
		RasHangUp(hRasConn);
		dwRet = RasGetConnectStatus(hRasConn, &rStatus);
		m_StatusText.LoadString(IDS_TERMINATING_CONN);
		UpdateData(FALSE);
		//獲得當前時間
		CTime t1 = CTime::GetCurrentTime();
		CTimeSpan ts;
		MSG msg;
		while (dwRet != ERROR_INVALID_HANDLE)
		{
			while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
			{
				TranslateMessage(&msg);
				DispatchMessage(&msg);
			}
			dwRet = RasGetConnectStatus(hRasConn, &rStatus);
			ts = CTime::GetCurrentTime() - t1;
			if (!bExitApp)
			if (ts.GetTotalSeconds() > 3) break;
		}
		//設定日志
		theApp.LOG("HangUp.");
		m_StatusText.LoadString(IDS_PAUSE);
		UpdateData(FALSE);
		if (bConnected) theApp.RunProgramsOnEvent(RUN_HANGUP);
	}
	Sleep(500);
	m_StatusText.Empty();
	UpdateData(FALSE);
	bConnected = FALSE;
	return TRUE;
}

BOOL CPage1::PublicOnDial()
{
	OnDial();
	return TRUE;
}


LRESULT CPage1::OnDialFunc(WPARAM w, LPARAM l)
{

	char szMessage[256];

	m_StatusText = GetRasConnState((RASCONNSTATE) w);
	UpdateData(FALSE);
	if (l)  // 錯誤產生
	{
		if (RasGetErrorString((UINT) l, szMessage, 256) != 0)
		{
			CString sss; sss.LoadString(IDS_RASCS_25);
			wsprintf((LPSTR)szMessage, sss);
		}
		m_LastCallText = szMessage;
		TRACE(CString("External error ") + CString(szMessage) + "\n");
		HangUp(FALSE);
		theApp.LOG(m_LastCallText);
		OnDialNextPhone();
	}
	else if (RASCS_DONE & w)
	{
		bConnected = TRUE;
		m_StatusText.LoadString(IDS_ONLINE);
		theApp.LOG("On line.");
		theApp.StartSession();
		theApp.RunProgramsOnEvent(RUN_ONLINE);
		SetButtonsState();
	}
	UpdateData(FALSE);
	return 0;
}

//撥下一個號碼
void CPage1::OnDialNextPhone()
{
	int nItems = m_PhoneList.GetItemCount();
	for (int i = 0; i < nItems; i++)
	{
		UINT state = m_PhoneList.GetItemState(i, LVIS_SELECTED);
		if (LVIS_SELECTED == state)
		{
				m_PhoneList.SetItemState(i, 0, LVIS_SELECTED);
				if (i + 1 < nItems) i++;
				else i = 0;
				SelectLVItem(m_PhoneList, i);
				GetPhoneListSelection();
				return;
		}
	}
	SelectLVItem(m_PhoneList, 0);
	GetPhoneListSelection();
}

//設置撥號名稱
CString CPage1::GetPhoneListSelection()
{
	CString sss;
	for (int i = 0; i < m_PhoneList.GetItemCount(); i++)
	{
		if (LVIS_SELECTED == m_PhoneList.GetItemState(i, LVIS_SELECTED))
		{
				sss = m_PhoneList.GetItemText(i, 0);
				theApp.SetIniString(sCurrentProvider, "LastPhone", L2S(i + 1));
				return sss;
		}
	}
	SelectLVItem(m_PhoneList, 0);
	theApp.SetIniString(sCurrentProvider, "LastPhone", "1");
	return sss;
}

BOOL CPage1::GetActiveConnectionParam(CString & Conn, CString & Phon)
{
	RASCONN rcArray[100];
	RASCONNSTATUS rStatus;
	DWORD dwRet;
	DWORD dw1 = sizeof(rcArray);
	DWORD dw2;
	ZeroMemory(rcArray, dw1);
	rcArray[0].dwSize = sizeof(RASCONN);
	dwRet = RasEnumConnections(rcArray, & dw1, & dw2);
//	ERROR_BUFFER_TOO_SMALL 
	ZeroMemory(&rStatus, sizeof(RASCONNSTATUS));
	rStatus.dwSize = sizeof(RASCONNSTATUS);
	for (dw1 = 0; dw1 < dw2; dw1++)
	{
		dwRet = RasGetConnectStatus(rcArray[dw1].hrasconn, &rStatus);
		if (RASCS_Connected == rStatus.rasconnstate)
		{
			Conn = rcArray[dw1].szEntryName;
			hRasConn = rcArray[dw1].hrasconn;
			return TRUE;
		}
	}
	return FALSE;
}


//獲得連接狀態,根據不同情況,設定不同的狀態
CString CPage1::GetRasConnState(RASCONNSTATE rasconn)
{
	CString sss;
	switch(rasconn)
	{
		case RASCS_OpenPort:
			sss.LoadString(IDS_RASCS_1); break;
		case RASCS_PortOpened:
			sss.LoadString(IDS_RASCS_2); break;
		case RASCS_ConnectDevice:
			sss.LoadString(IDS_RASCS_3); break;
		case RASCS_DeviceConnected:
			sss.LoadString(IDS_RASCS_4); break;
		case RASCS_AllDevicesConnected:
			sss.LoadString(IDS_RASCS_5); break;
		case RASCS_Authenticate:
			sss.LoadString(IDS_RASCS_6); break;
		case RASCS_AuthNotify:
			sss.LoadString(IDS_RASCS_7); break;
		case RASCS_AuthRetry:
			sss.LoadString(IDS_RASCS_8); break;
		case RASCS_AuthCallback:
			sss.LoadString(IDS_RASCS_9); break;
		case RASCS_AuthChangePassword:
			sss.LoadString(IDS_RASCS_10); break;
		case RASCS_AuthProject:
			sss.LoadString(IDS_RASCS_11); break;
		case RASCS_AuthLinkSpeed:
			sss.LoadString(IDS_RASCS_12); break;
		case RASCS_AuthAck:
			sss.LoadString(IDS_RASCS_13); break;
		case RASCS_ReAuthenticate:
			sss.LoadString(IDS_RASCS_14); break;
		case RASCS_Authenticated:
			sss.LoadString(IDS_RASCS_15); break;
		case RASCS_PrepareForCallback:
			sss.LoadString(IDS_RASCS_16); break;
		case RASCS_WaitForModemReset:
			sss.LoadString(IDS_RASCS_17); break;
		case RASCS_WaitForCallback:
			sss.LoadString(IDS_RASCS_18); break;
		case RASCS_Interactive:
			sss.LoadString(IDS_RASCS_19); break;
		case RASCS_RetryAuthentication:
			sss.LoadString(IDS_RASCS_20); break;
		case RASCS_CallbackSetByCaller:
			sss.LoadString(IDS_RASCS_21); break;
		case RASCS_PasswordExpired:
			sss.LoadString(IDS_RASCS_22); break;
		case RASCS_Connected:
			sss.LoadString(IDS_RASCS_23); break;
		case RASCS_Disconnected:
			sss.LoadString(IDS_RASCS_24); break;
		default:
			sss.LoadString(IDS_RASCS_25); break;
	}
	return sss;
}

CString CPage1::GetIPAddress()
{
	CString sss;
	if (!bConnected) return sss;
	RASPPPIP pppip;
	DWORD dw = sizeof(pppip);
	ZeroMemory(& pppip, dw);
	pppip.dwSize = dw;
	//通過RasGetProjectionInfo獲得IP地址
	DWORD ret =	RasGetProjectionInfo(hRasConn, RASP_PppIp, & pppip, & dw);
	if (ERROR_SUCCESS == ret) sss = pppip.szServerIpAddress;
	return sss;
}

//檢查擴展連接
BOOL CPage1::CheckExternalConnect()
{
	CString s1, s2;
	if (!GetActiveConnectionParam(s1, s2)) return FALSE;
	if (s1.IsEmpty())  return FALSE;
	sCurrentProvider = s1;
	theApp.SetIniString(gchMain,"LastEntry", sCurrentProvider);
	bDialing = TRUE;
	bDialNow = TRUE;
	bConnected = TRUE;
	QueryConnections();
	QueryPhones(sCurrentProvider);
	SetButtonsState();
	m_StatusText.LoadString(IDS_EXTERN_ONLINE);
	theApp.LOG("External On line.");
	UpdateData(FALSE);
	theApp.StartSession();
	theApp.RunProgramsOnEvent(RUN_ONLINE);
	return TRUE;
}

//開始撥號
BOOL CPage1::StartDial()
{
	bDialNow = TRUE;
	bAuthenticationBegin = FALSE;
	bSpeedChecked = FALSE;
	hRasConn = NULL;
	tBeginDial = CTime::GetCurrentTime();
	RASDIALPARAMS rdParams;
	char  szBuf[256] = "";
	ZeroMemory(&rdParams, sizeof(RASDIALPARAMS));
	rdParams.dwSize = sizeof(RASDIALPARAMS);
	lstrcpy(rdParams.szEntryName, sCurrentProvider);
	int pd = atoi(theApp.GetIniString(gchMain, gchPulseDialing, "1"));
	if (1 == pd) lstrcpy(rdParams.szPhoneNumber, CString("P") + GetPhoneListSelection());
	else lstrcpy(rdParams.szPhoneNumber, GetPhoneListSelection());
	CString un, pw;
	un = theApp.GetIniString(sCurrentProvider, "UserName", "");
	pw = theApp.GetPassword(TRUE);
	lstrcpy(rdParams.szUserName, un);
	lstrcpy(rdParams.szPassword, pw);
	rdParams.szCallbackNumber[0] = '*';
	rdParams.szDomain[0] = '*';
	m_StatusText = CString("Dial:<" + sCurrentProvider) +
	CString("> Phone:<") + CString(rdParams.szPhoneNumber) +
	CString("> User Name:<" + un) + CString("> Password:<" + theApp.GetPassword()) + ">";
	theApp.LOG(m_StatusText);
	UpdateData(FALSE);
	Sleep(400);
	DWORD dwRet;
	dwRet = RasDial(NULL, NULL, &rdParams, 0L, (LPVOID)RasDialFunc, &hRasConn);
	if (dwRet)
	{
		if (RasGetErrorString((UINT)dwRet, (LPSTR)szBuf, 256) != 0)
		m_LastCallText = szBuf;
		theApp.LOG(m_LastCallText);
		UpdateData(FALSE);
		HangUp(FALSE);
		OnDialNextPhone();
	}
	return TRUE;
}

//檢查撥號
BOOL CPage1::CheckingDialing()
{
	RASCONNSTATUS rStatus;
	DWORD dwRet;
	ZeroMemory(&rStatus, sizeof(RASCONNSTATUS));
	rStatus.dwSize = sizeof(RASCONNSTATUS);
	dwRet = RasGetConnectStatus(hRasConn, &rStatus);
	RASCONNSTATE rcs = rStatus.rasconnstate;
	if (!bConnected)
	{
		BOOL m_bMaxWaitTime = atol(theApp.GetIniString(gchMain, gchEnableTimeout, "0"));
		if (m_bMaxWaitTime)
		{
			CString sss = theApp.GetIniString(gchMain, gchMaxWaitTime, "60");
			CTimeSpan tst = CTime::GetCurrentTime() - tBeginDial;
			m_ProgressTimeout.SetPos(100 * tst.GetTotalSeconds() / atol(sss));
			if (tst.GetTotalSeconds() > atol(sss))
			{
				m_LastCallText.LoadString(IDS_TIME_OUT);
				theApp.LOG("Time out.");
				UpdateData(FALSE);
				HangUp(FALSE);
			}
		}
		if ((RASCS_Authenticate == rcs) && (FALSE == bAuthenticationBegin))
		{
			bAuthenticationBegin = TRUE;
			theApp.RunProgramsOnEvent(RUN_CONNECT);
		}
	}
	return TRUE;
}

BOOL CPage1::CheckingConnected()
{
	RASCONNSTATUS rStatus;
	DWORD dwRet;
	ZeroMemory(&rStatus, sizeof(RASCONNSTATUS));
	rStatus.dwSize = sizeof(RASCONNSTATUS);
	dwRet = RasGetConnectStatus(hRasConn, &rStatus);
	RASCONNSTATE rcs = rStatus.rasconnstate;
	if (ERROR_INVALID_HANDLE == dwRet)
	{
		HangUp(FALSE);
		m_LastCallText.LoadString(IDS_LOST_OF_CARRIER);
		theApp.LOG("Lost of carrier.");
		UpdateData(FALSE);
		BOOL bbb = atol(theApp.GetIniString(gchMain, gchRedialWhenHangUp, "1"));
		if (!bbb) OnDial();
		TRACE("RedialWhenHangUp = FALSE\n");
		return TRUE;
	}
	if (!bSpeedChecked)
	{
		bSpeedChecked = TRUE;
		BOOL m_bMinSpeed = atol(theApp.GetIniString(gchMain, gchEnableMinSpeed, "0"));
		if (m_bMinSpeed)
		{
			DWORD dwBPS = atol(theApp.GetIniString(gchMain, gchMinSpeed, "2400"));
			DWORD dwMaxSpeed;
			dwMaxSpeed = theApp.pPerf[PERF_ConnectSpeed]->GetData();
			if (dwBPS > dwMaxSpeed)
			{
				CString sss = "Low speed disconnect. Min Speed <";
				sss += L2S(dwBPS) + "> Current Speed <";
				sss += L2S(dwMaxSpeed) + ">.";
				m_LastCallText = sss;
				theApp.LOG(sss);
				UpdateData(FALSE);
				HangUp(FALSE);
			}
		}
	}
	return TRUE;
}

void CPage1::OnOK() 
{
	return;	
	CPropertyPage::OnOK();
}

//void CPage1::OnButtonDial() 
//{
	// TODO: Add your control notification handler code here
//	StartDial();
	
//}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩黄色一区二区| 亚洲黄色小视频| 亚洲码国产岛国毛片在线| 天天色 色综合| 色婷婷av一区二区三区大白胸| 日韩免费成人网| 亚洲一二三四区| 99久久久久久| 国产女人aaa级久久久级| 老司机午夜精品| 91 com成人网| 亚洲va在线va天堂| 色噜噜夜夜夜综合网| 国产性天天综合网| 美女国产一区二区三区| 欧美日韩亚州综合| 亚洲一区二区三区国产| 91久久精品网| 一区二区三区精品久久久| av亚洲产国偷v产偷v自拍| 久久综合九色欧美综合狠狠 | 3d成人h动漫网站入口| 中文字幕在线免费不卡| 岛国一区二区在线观看| 欧美精品一区二区精品网| 日本亚洲最大的色成网站www| 欧美网站一区二区| 亚洲国产另类精品专区| 欧美日韩aaa| 视频一区视频二区在线观看| 欧美日韩精品系列| 亚洲第一精品在线| 91精品国产综合久久久久| 性感美女极品91精品| 欧美日韩国产一级| 麻豆专区一区二区三区四区五区| 69精品人人人人| 免费观看30秒视频久久| 精品国产区一区| 国产精品一二三四区| 日本一区二区三区高清不卡| 成人激情黄色小说| 悠悠色在线精品| 欧美日韩情趣电影| 久久成人精品无人区| ww亚洲ww在线观看国产| 不卡的电影网站| 亚洲综合在线免费观看| 欧美久久久久久久久| 亚瑟在线精品视频| 久久精品男人天堂av| 91啪亚洲精品| 日韩高清在线不卡| 国产亚洲精品资源在线26u| 一本到高清视频免费精品| 亚洲第一主播视频| 久久久99久久精品欧美| 色香色香欲天天天影视综合网| 天堂资源在线中文精品| 久久久久久免费毛片精品| 色欧美片视频在线观看在线视频| 午夜精品视频一区| 中文字幕免费不卡| 555www色欧美视频| 成人免费电影视频| 五月天激情小说综合| 国产香蕉久久精品综合网| 欧美伊人久久久久久久久影院| 国产自产高清不卡| 亚洲综合免费观看高清在线观看| 日韩亚洲欧美在线观看| 成人高清伦理免费影院在线观看| 亚洲高清在线视频| 日本一区二区免费在线| 欧美一区二区三区在线观看| 91原创在线视频| 精久久久久久久久久久| 亚洲综合久久久| 国产精品美女久久久久aⅴ | 国产欧美一区二区精品秋霞影院| 99久久久免费精品国产一区二区| 日本午夜一区二区| 一区二区三区在线不卡| 久久久久久久久久久久电影| 欧美三级电影在线看| 成人午夜精品在线| 狠狠色丁香婷婷综合| 亚州成人在线电影| 亚洲色欲色欲www| 国产日韩欧美在线一区| 日韩精品资源二区在线| 欧美三级电影在线观看| 99热这里都是精品| 国产不卡免费视频| 国产乱码精品一区二区三区忘忧草| 亚洲成人免费在线| 一个色妞综合视频在线观看| 亚洲丝袜精品丝袜在线| 国产视频一区在线播放| 久久久精品国产免大香伊| 日韩欧美在线影院| 欧美一级高清片| 欧美日韩免费观看一区二区三区 | 亚洲天堂2016| 国产精品嫩草影院av蜜臀| 欧美国产一区二区在线观看| 精品国产免费视频| 欧美v日韩v国产v| 精品久久久久一区| 久久伊99综合婷婷久久伊| 日韩视频一区二区在线观看| 日韩一区二区三区电影在线观看 | 欧美日韩精品免费观看视频| 在线日韩av片| 欧美乱妇20p| 欧美一区二区视频网站| 欧美一级日韩免费不卡| 日韩三级视频中文字幕| 91精品国产综合久久精品性色| 欧美精品亚洲二区| 日韩一区二区三区在线观看| 日韩欧美在线123| 久久网站热最新地址| 欧美极品美女视频| 又紧又大又爽精品一区二区| 亚洲综合在线观看视频| 午夜国产精品影院在线观看| 日韩欧美国产午夜精品| 精品久久人人做人人爱| 日韩一区二区三区在线观看| 精品国产麻豆免费人成网站| 久久久久综合网| 国产精品电影一区二区| 亚洲一区二区三区四区五区中文| 一区二区三区四区蜜桃| 免费在线观看精品| 成人午夜碰碰视频| 欧美午夜不卡在线观看免费| 日韩午夜三级在线| 国产精品大尺度| 日日夜夜精品视频天天综合网| 国产一区在线不卡| 91久久线看在观草草青青| 日韩午夜激情视频| 国产精品黄色在线观看| 香蕉加勒比综合久久| 国产精品一级在线| 91国产视频在线观看| 欧美zozozo| 亚洲一区二区三区四区在线观看 | 色婷婷精品久久二区二区蜜臂av| 欧美亚洲精品一区| 久久免费看少妇高潮| 一区二区三区四区在线免费观看| 日产国产高清一区二区三区| 丁香婷婷深情五月亚洲| 欧美乱妇20p| 亚洲天堂a在线| 国产精品一区二区久久精品爱涩| 欧美午夜电影一区| 国产精品毛片高清在线完整版| 日本午夜精品视频在线观看| av电影在线观看完整版一区二区| 69堂成人精品免费视频| 亚洲视频 欧洲视频| 韩国成人精品a∨在线观看| 欧美曰成人黄网| 中文字幕在线观看不卡| 国内精品在线播放| 56国语精品自产拍在线观看| 一区二区三区四区在线免费观看| 国内精品伊人久久久久av影院| 欧美视频一区在线| 日韩一区在线免费观看| 国内精品嫩模私拍在线| 在线播放欧美女士性生活| 亚洲日本韩国一区| 国产91丝袜在线观看| 精品国产91久久久久久久妲己 | 亚洲国产精品人人做人人爽| 国产精品一区二区三区四区| 91精品国产综合久久久蜜臀图片| 一区二区三区在线免费| 91丨九色porny丨蝌蚪| 国产三区在线成人av| 韩国成人精品a∨在线观看| 日韩一区二区电影网| 午夜av一区二区| 欧美色爱综合网| 亚洲午夜久久久久久久久久久| youjizz久久| 国产精品成人免费精品自在线观看 | 国产欧美一区二区精品婷婷| 久久综合综合久久综合| 91精品国产综合久久久蜜臀粉嫩 | 亚洲激情自拍偷拍| 一本到不卡精品视频在线观看| 亚洲欧洲一区二区在线播放| av亚洲精华国产精华| 亚洲同性同志一二三专区|