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

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

?? ftptransfer.cpp

?? Transfer Files to and from an FTP Server
?? CPP
字號:
// FtpTransfer.cpp : implementation file
//

#include "stdafx.h"
#include "FTP.h"
#include "FtpTransfer.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define FTP_DIR 1
#define LOCAL_DIR 2
#define BUFF_MAX 5000
extern char Clipboard[];
extern CString gCopiedFile;
extern DWORD gFileSize, BytesTransferred, OverallFileSize, TimeElapse, TimePending, TimeStart, AvgCounter;
DWORD WINAPI CopyTheFile(LPVOID lResult);
extern HANDLE hLocalSrcFile, hLocalDestFile;
extern CInternetFile *hInternetSrcFile, *hInternetDestFile;
HANDLE hThread;
DWORD SourceDir, DestDir, gSize;
extern HTREEITEM ghTitem;
extern CListCtrl *ListCtrl;
extern CTreeCtrl *TreeCtrl;
extern CFtpConnection* m_pFtpConnection;
extern bool EndTheTransfer, ThreadEnded;
extern CStatusBar m_wndStatusBar;
/////////////////////////////////////////////////////////////////////////////
// CFtpTransfer dialog


CFtpTransfer::CFtpTransfer(CWnd* pParent /*=NULL*/)
	: CDialog(CFtpTransfer::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFtpTransfer)
	//}}AFX_DATA_INIT
}


void CFtpTransfer::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFtpTransfer)
	DDX_Control(pDX, IDC_STOP, m_Stop);
	DDX_Control(pDX, IDC_STARTAGAIN, m_Start);
	DDX_Control(pDX, IDC_FILE, m_FileName);
	DDX_Control(pDX, IDC_SINGLE, m_Single);
	DDX_Control(pDX, IDC_OVERALL, m_Overall);
	DDX_Control(pDX, IDC_FTPLIST, m_FtpList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFtpTransfer, CDialog)
	//{{AFX_MSG_MAP(CFtpTransfer)
	ON_BN_CLICKED(IDC_HIDE, OnHide)
	ON_BN_CLICKED(IDC_ADDFILE, OnAddfile)
	ON_BN_CLICKED(IDC_COPYFILES, OnCopyfiles)
	ON_BN_CLICKED(IDC_STOP, OnStop)
	ON_BN_CLICKED(IDC_STARTAGAIN, OnStartagain)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFtpTransfer message handlers

BOOL CFtpTransfer::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_FtpList.InsertColumn(0, "File", LVCFMT_LEFT, 100);	
	m_FtpList.InsertColumn(1, "Source Folder", LVCFMT_LEFT, 200);
	m_FtpList.InsertColumn(2, "Target Folder", LVCFMT_LEFT, 200);
	m_FtpList.InsertColumn(3, "Size", LVCFMT_LEFT, 75);
	m_Start.EnableWindow(TRUE);
	m_Stop.EnableWindow(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CFtpTransfer::OnHide() 
{
	// TODO: Add your control notification handler code here
	ShowWindow(SW_HIDE);	
}

void CFtpTransfer::OnAddfile() 
{
	// TODO: Add your control notification handler code here
	int i=m_FtpList.GetItemCount();
	m_FtpList.InsertItem(i, gCopiedFile);
	m_FtpList.SetItemText(i, 1, Clipboard);
	CString TmpStr;
	TmpStr.Format("%lu", gFileSize);
//	OverallFileSize += gFileSize;
	m_FtpList.SetItemText(i, 3, TmpStr);
//	AfxMessageBox("DEMO");	
}

void CFtpTransfer::OnCopyfiles() 
{
	// TODO: Add your control notification handler code here
	HTREEITEM hTC = ghTitem;
	CString Dir, Tmp;
//	if(FTP2Local==0){
	m_Start.EnableWindow(FALSE);
	m_Stop.EnableWindow(TRUE);
	OverallFileSize=TimeElapse=TimePending=0;
	for(int i=0; i<m_FtpList.GetItemCount(); i++){
		hTC = ghTitem;
		if(TreeCtrl->GetItemData(hTC)==0){
			Dir = TreeCtrl->GetItemText(hTC);
			while (true)
			{
				hTC = TreeCtrl->GetParentItem(hTC);
				if(!hTC)
					break;

				if (hTC != TreeCtrl->GetRootItem())
					Dir = TreeCtrl->GetItemText(hTC)+"\\"+Dir;
			}
			m_FtpList.SetItemText(i, 2, (LPSTR)(LPCSTR)Dir);
		}
		else{
			Dir = TreeCtrl->GetItemText(hTC);
			while (true)
			{
				if(strcmp(Dir, "/")==0)
					Dir = "";
				hTC = TreeCtrl->GetParentItem(hTC);
				if(!hTC)
					break;
			
				if (hTC != TreeCtrl->GetRootItem()){
					Tmp = TreeCtrl->GetItemText(hTC);
					if(strcmp(Tmp, "/") == 0){
						Dir = Tmp+Dir;
						break;
					}
					Dir = Tmp+"/"+Dir;
				}
			}
			m_FtpList.SetItemText(i, 2, (LPSTR)(LPCSTR)Dir);
		}
		OverallFileSize+=atoi((LPSTR)(LPCSTR)m_FtpList.GetItemText(i, 3));
	}
	m_Overall.SetRange32(0, OverallFileSize);
	m_Overall.SetPos(0);
	while(m_FtpList.GetItemCount()){
//		if(m_FtpList.GetItemData(hTC)==0){
			Dir = m_FtpList.GetItemText(0, 1);
			if((LPSTR)(LPCSTR)Dir[0] == (LPSTR)'/')
				SourceDir = FTP_DIR;
			else
				SourceDir = LOCAL_DIR;
			if(SourceDir == FTP_DIR){
				Dir += "/" + m_FtpList.GetItemText(0, 0);
				try
				{
					hInternetSrcFile=m_pFtpConnection->OpenFile(Dir);
				}
				catch (CInternetException* pEx)
				{
					// catch errors from WinINet
					TCHAR szErr[1024];
					if (pEx->GetErrorMessage(szErr, 1024))
						AfxMessageBox(szErr, MB_OK);
					else
						AfxMessageBox("Unknown Error", MB_OK);
					pEx->Delete();
					goto EndCopy;
				}
				if(!hInternetSrcFile){
					AfxMessageBox("Unable to open internet file");
					goto EndCopy;
				}
			}
			else{
				Dir += "\\" + m_FtpList.GetItemText(0, 0);
				if((hLocalSrcFile=CreateFile(Dir, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
					FILE_ATTRIBUTE_NORMAL, NULL)) ==INVALID_HANDLE_VALUE){
					AfxMessageBox("Unable to open file for reading in local hard disk!");
					hLocalSrcFile = 0;
					goto EndCopy;
				}
			}
			m_FileName.SetWindowText((LPSTR)(LPCSTR)Dir);
			Dir = m_FtpList.GetItemText(0, 2);
			if((LPSTR)(LPCSTR)Dir[0] == (LPSTR)'/')
				DestDir = FTP_DIR;
			else
				DestDir = LOCAL_DIR;
			if(DestDir == LOCAL_DIR){
				Dir += "\\" + m_FtpList.GetItemText(0, 0);
				if((hLocalDestFile=CreateFile(Dir, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS,
					FILE_ATTRIBUTE_NORMAL, NULL)) ==INVALID_HANDLE_VALUE){
					AfxMessageBox("Unable to open file for writing in local hard disk!");
					hLocalDestFile = 0;
					goto EndCopy;
				}
			}
			else
			{
				Dir += "/" + m_FtpList.GetItemText(0, 0);
				try
				{
					hInternetDestFile=m_pFtpConnection->OpenFile(Dir);
				}
				catch (CInternetException* pEx)
				{
					// catch errors from WinINet
					TCHAR szErr[1024];
					if (pEx->GetErrorMessage(szErr, 1024))
						AfxMessageBox(szErr, MB_OK);
					else
						AfxMessageBox("Unknown Error", MB_OK);
					pEx->Delete();
					goto EndCopy;
				}
				if(!hInternetDestFile){
					AfxMessageBox("Unable to open internet file");
					goto EndCopy;
				}
			}
//			if(hInternetSrcFile){
				EndTheTransfer=false;
//				AfxBeginThread(CopyTheFile, this);
				gSize = atoi((LPSTR)(LPCSTR)m_FtpList.GetItemText(0, 3));
				m_Single.SetRange32(0, gSize);
				m_Single.SetPos(0);
				DWORD LocalFilePos=0;
				if(DestDir == LOCAL_DIR)
					LocalFilePos = SetFilePointer(hLocalDestFile, 0, 0, FILE_END);
				else{
					try
					{
						LocalFilePos = hInternetDestFile->Seek(0, CFile::end);
					}
					catch (CInternetException* pEx)
					{
						// catch errors from WinINet
						TCHAR szErr[1024];
						if (pEx->GetErrorMessage(szErr, 1024))
							AfxMessageBox(szErr, MB_OK);
						else
							AfxMessageBox("Unknown Error", MB_OK);
						pEx->Delete();
						LocalFilePos=0;
					}
				}
				if(LocalFilePos != 0){
					if(AfxMessageBox("File already exists!  Resume download?", MB_YESNO|MB_ICONQUESTION)==IDNO){
						if(DestDir==FTP_DIR){
							try
							{
								BytesTransferred = hInternetDestFile->Seek(0, CFile::begin);
							}
							catch (CInternetException* pEx)
							{
								// catch errors from WinINet
								TCHAR szErr[1024];
								if (pEx->GetErrorMessage(szErr, 1024))
									AfxMessageBox(szErr, MB_OK);
								else
									AfxMessageBox("Unknown Error", MB_OK);
								pEx->Delete();
								LocalFilePos=BytesTransferred=0;
							}

						}
						else{
							BytesTransferred = SetFilePointer(hLocalDestFile, 0, 0, FILE_BEGIN);
						}
						if(SourceDir==FTP_DIR){
							try
							{
								BytesTransferred = hInternetSrcFile->Seek(0, CFile::begin);
							}
							catch (CInternetException* pEx)
							{
								// catch errors from WinINet
								TCHAR szErr[1024];
								if (pEx->GetErrorMessage(szErr, 1024))
									AfxMessageBox(szErr, MB_OK);
								else
									AfxMessageBox("Unknown Error", MB_OK);
								pEx->Delete();
								LocalFilePos=BytesTransferred=0;
							}
						}
						else{
							BytesTransferred = SetFilePointer(hLocalSrcFile, 0, 0, FILE_BEGIN);
						}
					}
					else {
						if(DestDir==FTP_DIR){
							try
							{
								BytesTransferred = hInternetDestFile->Seek(LocalFilePos, CFile::begin);
							}
							catch (CInternetException* pEx)
							{
								// catch errors from WinINet
								TCHAR szErr[1024];
								if (pEx->GetErrorMessage(szErr, 1024))
									AfxMessageBox(szErr, MB_OK);
								else
									AfxMessageBox("Unknown Error", MB_OK);
								pEx->Delete();
								LocalFilePos=BytesTransferred=0;
							}
						}
						else{
							BytesTransferred = SetFilePointer(hLocalDestFile, LocalFilePos, 0, FILE_BEGIN);
						}
						if(SourceDir==FTP_DIR){
							try
							{
								BytesTransferred = hInternetSrcFile->Seek(LocalFilePos, CFile::begin);
							}
							catch (CInternetException* pEx)
							{
								// catch errors from WinINet
								TCHAR szErr[1024];
								if (pEx->GetErrorMessage(szErr, 1024))
									AfxMessageBox(szErr, MB_OK);
								else
									AfxMessageBox("Unknown Error", MB_OK);
								pEx->Delete();
								LocalFilePos=BytesTransferred=0;
							}
						}
						else{
							BytesTransferred = SetFilePointer(hLocalSrcFile, LocalFilePos, 0, FILE_BEGIN);
						}
					}
				}
				m_wndStatusBar.SetPaneText(3, "Bytes Copied", TRUE);
				m_wndStatusBar.SetPaneText(4, "Bytes/Sec", TRUE);
				m_wndStatusBar.SetPaneText(1, "Time Elapsed", TRUE);
				m_wndStatusBar.SetPaneText(2, "Time Remain", TRUE);
				TimeElapse=TimePending=TimeStart=AvgCounter=0;
				hThread = ::CreateThread(0, 0, (LPTHREAD_START_ROUTINE)CopyTheFile, this, 0, 0);
				MSG Msg;
				do{
					if(::PeekMessage(&Msg, NULL, WM_NULL, WM_USER-1, PM_NOREMOVE)){
						::PeekMessage(&Msg, NULL, WM_NULL, WM_USER-1, PM_REMOVE);
						TranslateMessage(&Msg);
						DispatchMessage(&Msg);
					}
				}while(WaitForSingleObject(hThread, 50)==WAIT_TIMEOUT);
				m_Overall.OffsetPos(BytesTransferred);
				if(!EndTheTransfer)
					m_FtpList.DeleteItem(0);
				else
					break;
				BytesTransferred = 0;
				if(SourceDir==LOCAL_DIR){
					CloseHandle(hLocalSrcFile);
					hLocalSrcFile=0;
				}
				else{
					try
					{
						hInternetSrcFile->Close();
					}
					catch (CInternetException* pEx)
					{
						// catch errors from WinINet
						TCHAR szErr[1024];
						if (pEx->GetErrorMessage(szErr, 1024))
							AfxMessageBox(szErr, MB_OK);
						else
							AfxMessageBox("Unknown Error", MB_OK);
						pEx->Delete();
						goto EndCopy;
					}
				}
				if(DestDir==LOCAL_DIR){
					CloseHandle(hLocalDestFile);
					hLocalDestFile=0;
				}
				else{
					try
					{
						hInternetDestFile->Close();
					}
					catch (CInternetException* pEx)
					{
						// catch errors from WinINet
						TCHAR szErr[1024];
						if (pEx->GetErrorMessage(szErr, 1024))
							AfxMessageBox(szErr, MB_OK);
						else
							AfxMessageBox("Unknown Error", MB_OK);
						pEx->Delete();
						goto EndCopy;
					}
				}
//			}
//		}
	}
//	else{
//	}
EndCopy:
	if(SourceDir==FTP_DIR){
		if(hInternetSrcFile){
			try
			{
				hInternetSrcFile->Close();
			}
			catch (CInternetException* pEx)
			{
				// catch errors from WinINet
				TCHAR szErr[1024];
				if (pEx->GetErrorMessage(szErr, 1024))
					AfxMessageBox(szErr, MB_OK);
				else
					AfxMessageBox("Unknown Error", MB_OK);
				pEx->Delete();
			}
		}
	}
	else{
		if(hLocalSrcFile)
			CloseHandle(hLocalSrcFile);
	}
	if(DestDir == FTP_DIR){
		if(hInternetDestFile){
			try
			{
				hInternetDestFile->Close();
			}
			catch (CInternetException* pEx)
			{
				// catch errors from WinINet
				TCHAR szErr[1024];
				if (pEx->GetErrorMessage(szErr, 1024))
					AfxMessageBox(szErr, MB_OK);
				else
					AfxMessageBox("Unknown Error", MB_OK);
				pEx->Delete();
			}
		}
	}
	else{
		if(hLocalDestFile)
			CloseHandle(hLocalDestFile);
	}
	m_wndStatusBar.SetPaneText(3, "Bytes Copied", TRUE);
	m_wndStatusBar.SetPaneText(4, "Bytes/Sec", TRUE);
	m_wndStatusBar.SetPaneText(1, "Time Elapsed", TRUE);
	m_wndStatusBar.SetPaneText(2, "Time Remain", TRUE);
	m_Overall.SetPos(0);
	m_Single.SetPos(0);
	m_FileName.SetWindowText(NULL);
	if(!m_FtpList.GetItemCount())
		ShowWindow(SW_HIDE);
	m_Start.EnableWindow(TRUE);
	m_Stop.EnableWindow(FALSE);
}

DWORD WINAPI CopyTheFile(LPVOID lResult)
{
	CFtpTransfer *FtpTrans = (CFtpTransfer *)lResult;
	ThreadEnded = false;
//	if(SourceDir==FTP_DIR){
	BYTE Buffer[BUFF_MAX];
//	char TmpStr[100];
	DWORD Tmp, Tmp1, Tmp2=0;
	while(!EndTheTransfer){
		Tmp1=BUFF_MAX;
		if(SourceDir==FTP_DIR){
			try
			{
				Tmp = hInternetSrcFile->Read(Buffer, BUFF_MAX);
			}
			catch (CInternetException* pEx)
			{
				// catch errors from WinINet
				TCHAR szErr[1024];
				if (pEx->GetErrorMessage(szErr, 1024))
					AfxMessageBox(szErr, MB_OK);
				else
					AfxMessageBox("Unknown Error", MB_OK);
				pEx->Delete();
			}
		}
		else
			ReadFile(hLocalSrcFile, Buffer, BUFF_MAX, &Tmp, NULL);
		if(DestDir==FTP_DIR){
			try
			{
				hInternetDestFile->Write(Buffer, Tmp);
			}
			catch (CInternetException* pEx)
			{
				// catch errors from WinINet
				TCHAR szErr[1024];
				if (pEx->GetErrorMessage(szErr, 1024))
					AfxMessageBox(szErr, MB_OK);
				else
					AfxMessageBox("Unknown Error", MB_OK);
				pEx->Delete();
			}
		}
		else
			WriteFile(hLocalDestFile, Buffer, Tmp, &Tmp1, NULL);
		BytesTransferred += Tmp1;
		if(++Tmp2 == 10){
			FtpTrans->m_Single.SetPos(BytesTransferred);
			Tmp2=0;
		}
		if(Tmp1 != BUFF_MAX)
			break;
	}
	ThreadEnded = true;
	ExitThread(0);
	return 0;
}

void CFtpTransfer::OnStop() 
{
	// TODO: Add your control notification handler code here
	EndTheTransfer=true;	
	m_Start.EnableWindow(TRUE);
	m_Stop.EnableWindow(FALSE);
}

void CFtpTransfer::OnStartagain() 
{
	// TODO: Add your control notification handler code here
	EndTheTransfer=false;
	m_Start.EnableWindow(FALSE);
	m_Stop.EnableWindow(TRUE);
	OnCopyfiles();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.亚洲色图.com| 一本色道久久综合狠狠躁的推荐 | 欧美日韩综合在线免费观看| 日韩色在线观看| 一色桃子久久精品亚洲| 国产一区二区日韩精品| 欧美日韩精品电影| 亚洲天堂2014| 国产91露脸合集magnet| 日韩午夜三级在线| 亚洲一区视频在线观看视频| 国产激情视频一区二区在线观看| 欧美人妇做爰xxxⅹ性高电影| 中文字幕精品综合| 久久电影网站中文字幕| 3atv一区二区三区| 亚洲图片欧美一区| 色偷偷久久一区二区三区| 国产日韩欧美不卡在线| 久久精品国产精品亚洲综合| 在线成人午夜影院| 亚洲一级电影视频| 欧美在线不卡视频| 亚洲一区二区视频在线观看| 99re成人在线| 日韩一区日韩二区| www.欧美亚洲| 国产精品不卡在线| 97精品电影院| 亚洲精品国产品国语在线app| av电影在线不卡| 18欧美亚洲精品| 日本高清成人免费播放| 亚洲一区在线观看视频| 欧美日韩国产综合草草| 午夜精品久久久久久久久久 | 日本成人在线不卡视频| 在线观看一区日韩| 亚洲bt欧美bt精品777| 欧美日韩精品综合在线| 日产国产欧美视频一区精品| 91麻豆精品国产| 国产一区二区免费视频| 中文欧美字幕免费| 色婷婷综合五月| 日本欧美一区二区在线观看| 欧美va亚洲va在线观看蝴蝶网| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩女优av电影| 国产激情一区二区三区四区| 中文字幕第一区| 91豆麻精品91久久久久久| 亚洲不卡在线观看| 久久免费的精品国产v∧| av在线不卡电影| 天天操天天干天天综合网| 2023国产精华国产精品| 成人激情校园春色| 天堂资源在线中文精品| 国产视频一区不卡| 在线免费一区三区| 久久精品99久久久| 中文字幕在线免费不卡| 91精品国产色综合久久| 福利电影一区二区三区| 亚洲国产精品久久久久婷婷884| 69久久99精品久久久久婷婷| 成人福利视频在线看| 午夜视频在线观看一区二区三区| 日韩免费视频线观看| 99精品国产一区二区三区不卡| 亚洲韩国精品一区| 久久久久久综合| 欧美三级一区二区| 丁香五精品蜜臀久久久久99网站| 亚洲狠狠爱一区二区三区| 日本一区二区三区免费乱视频| 欧美伊人久久大香线蕉综合69 | 91黄视频在线观看| 国产麻豆精品视频| 午夜精品成人在线视频| 亚洲欧洲日韩综合一区二区| 日韩美女天天操| 欧美写真视频网站| 99久免费精品视频在线观看| 九色综合国产一区二区三区| 亚洲一区二区高清| 亚洲精品大片www| 中文字幕av在线一区二区三区| 欧美一二三区精品| 欧美日韩另类一区| 91国偷自产一区二区三区成为亚洲经典 | 天天av天天翘天天综合网 | 亚洲乱码一区二区三区在线观看| 日韩精品一区二| 欧美日韩免费电影| 色999日韩国产欧美一区二区| 国产成人在线观看免费网站| 久久99蜜桃精品| 免费成人性网站| 日本午夜精品一区二区三区电影| 亚洲免费资源在线播放| 国产精品久久久久三级| 久久久99精品免费观看不卡| 日韩精品影音先锋| 日韩一区二区三区四区五区六区| 欧美三级乱人伦电影| 在线视频欧美精品| 欧美午夜精品一区二区三区| 在线视频国内一区二区| 欧美午夜免费电影| 欧美怡红院视频| 欧美视频在线观看一区二区| 色综合色狠狠天天综合色| 99天天综合性| 91麻豆swag| 欧美主播一区二区三区| 欧美视频在线观看一区二区| 欧美精品久久天天躁| 欧美一级一级性生活免费录像| 91精品欧美综合在线观看最新| 欧美精品 日韩| 日韩精品专区在线影院重磅| 久久日韩精品一区二区五区| 久久奇米777| 中文字幕中文字幕在线一区 | 一区二区高清在线| 亚洲国产sm捆绑调教视频| 亚洲成人免费观看| 久久精品国产99国产| 粗大黑人巨茎大战欧美成人| 99精品久久久久久| 3d动漫精品啪啪一区二区竹菊| 欧美大片在线观看| 中文字幕一区三区| 天使萌一区二区三区免费观看| 裸体歌舞表演一区二区| 不卡的看片网站| 欧美伊人久久久久久久久影院| 日韩一区二区三区在线| 欧美经典三级视频一区二区三区| 亚洲人成在线观看一区二区| 日日夜夜免费精品视频| 国产精品综合在线视频| 欧美亚洲尤物久久| 久久精品网站免费观看| 一区二区国产盗摄色噜噜| 极品少妇一区二区三区精品视频 | 国产一区三区三区| 91亚洲精品久久久蜜桃网站| 51久久夜色精品国产麻豆| 日本一区二区免费在线| 日韩制服丝袜av| a在线欧美一区| 欧美不卡一区二区三区| 一区二区三区在线视频免费| 久久综合综合久久综合| 在线日韩av片| 国产精品美女久久久久久久网站| 性做久久久久久久久| 成人免费视频播放| 精品少妇一区二区三区在线视频| 亚洲欧美一区二区视频| 国产在线一区观看| 7878成人国产在线观看| 亚洲婷婷在线视频| 国产精品一二三四区| 日韩一区二区免费在线电影| 日韩毛片在线免费观看| 国产福利一区二区三区视频在线| 欧美日韩国产综合草草| 亚洲免费观看高清完整版在线观看熊 | 91免费版在线| 国产日韩亚洲欧美综合| 老司机午夜精品| 538在线一区二区精品国产| 一区二区在线观看av| 国产成人高清在线| 精品精品欲导航| 日韩av在线播放中文字幕| 91精彩视频在线| 一区二区三区日韩欧美精品| 成人国产精品免费| 国产精品人成在线观看免费| 久久精品99国产精品日本| 欧美一区二区美女| 日韩高清在线不卡| 欧美日韩国产一级| 午夜国产精品一区| 欧美日韩免费在线视频| 亚洲精品美腿丝袜| 91黄色免费观看| 亚洲成人先锋电影| 717成人午夜免费福利电影| 性做久久久久久久久| 91精品国产欧美一区二区成人| 亚洲18色成人| 欧美狂野另类xxxxoooo| 日本色综合中文字幕| 日韩三级伦理片妻子的秘密按摩|