青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數(shù)據(jù)加載中……

wince上如何讀取和備份、刪除聯(lián)系人

讀取聯(lián)系人的方法有API和數(shù)據(jù)庫。這里所說的聯(lián)系人有兩個概念,一個是SIM卡上的,一個設(shè)備中的。
想看看如果讀取SIM卡中的聯(lián)系人。
#include
#pragma comment(lib,"cellcore.lib")

// CSimPhoneBookView message handlers
void ReadSimPhoneBook()
{

?//Sim Card
?HSIM g_hSim = NULL;
?SIMCAPS g_simcaps;
?const DWORD g_dwLocation = SIM_PBSTORAGE_SIM;//SIM_PBSTORAGE_OWNNUMBERS;//SIM_PBSTORAGE_SIM;
?
?DWORD dwRecNum=0;
?DWORD dwCurRec = 0;
?if (FAILED(SimInitialize(SIM_INIT_NONE, NULL, 0, &g_hSim)))
??return;
?if (FAILED(SimGetDevCaps(g_hSim, SIM_CAPSTYPE_PBINDEXRANGE, &g_simcaps)))
??return;

?dwRecNum = g_simcaps.dwMaxPBIndex - g_simcaps.dwMinPBIndex+1;
?dwCurRec = g_simcaps.dwMinPBIndex;
?SIMPHONEBOOKENTRY simPhoneEntry;??
?while( dwCurRec <= dwRecNum )
?{
??memset(&simPhoneEntry,0,sizeof(SIMPHONEBOOKENTRY));
??if(SUCCEEDED(SimReadPhonebookEntry(g_hSim, g_dwLocation, dwCurRec, &simPhoneEntry)))
??{
???int iItem = lstCtrl.InsertItem(lstCtrl.GetItemCount(),simPhoneEntry.lpszText);
???lstCtrl.SetItemText(iItem,1,simPhoneEntry.lpszAddress);
???CString tmp;
???tmp.Format(_T("%ld"),dwCurRec);
???lstCtrl.SetItemText(iItem,2,tmp);
??}?
??dwCurRec++;
?}
?
?SimDeinitialize(g_hSim);
?g_hSim = NULL;?
}
void Add()
{
?//Sim Card
?HSIM g_hSim = NULL;
?SIMCAPS g_simcaps;
?const DWORD g_dwLocation = SIM_PBSTORAGE_SIM;//SIM_PBSTORAGE_OWNNUMBERS;//SIM_PBSTORAGE_SIM;
?
?DWORD dwRecNum=0;
?DWORD dwCurRec = 0;
?if (FAILED(SimInitialize(SIM_INIT_NONE, NULL, 0, &g_hSim)))
??return;
?if (FAILED(SimGetDevCaps(g_hSim, SIM_CAPSTYPE_PBINDEXRANGE, &g_simcaps)))
??return;

?dwRecNum = g_simcaps.dwMaxPBIndex - g_simcaps.dwMinPBIndex+1;
?dwCurRec = g_simcaps.dwMinPBIndex;
?SIMPHONEBOOKENTRY simPhoneEntry;
?simPhoneEntry.cbSize = sizeof(SIMPHONEBOOKENTRY);
??? simPhoneEntry.dwParams = SIM_PARAM_PBE_ALL;
??? simPhoneEntry.dwAddressType = SIM_ADDRTYPE_NATIONAL;
??? simPhoneEntry.dwNumPlan = SIM_NUMPLAN_TELEPHONE;
?
?CString tmp;
?for( dwCurRec = g_simcaps.dwMinPBIndex;dwCurRec<=dwRecNum;dwCurRec++ )
?{
??tmp.Format(_T("name_%ld"),dwCurRec);
??wcscpy(simPhoneEntry.lpszText,tmp);
??tmp.Format(_T("123456%.3ld"),dwCurRec);
??wcscpy(simPhoneEntry.lpszAddress,tmp);
??SimWritePhonebookEntry(g_hSim, g_dwLocation, dwCurRec, &simPhoneEntry);
?}

?SimDeinitialize(g_hSim);
?g_hSim = NULL;?
}

//下面的代碼通過系統(tǒng)自帶的數(shù)據(jù)庫來讀取

?int CopyPhoneBook(BOOL FLAG)
{?
?///////////////////////////////////////////////////////////////////////////
?//讀數(shù)據(jù)庫中(在內(nèi)存中讀寫,只能用API不能用WINCE封裝的類,后者只對用戶自定義的數(shù)據(jù)庫有用)
?//存儲地址本的數(shù)據(jù)庫是Contacts Database,手機中看不到,加載在內(nèi)存中?
?//////////////////////////////////////////////////////////////////////////
?CEGUID ceguid;
?TCHAR szVolName[128];
?CREATE_INVALIDGUID(&ceguid);
?while(::CeEnumDBVolumes(&ceguid,szVolName,MAX_PATH))
?{
??if(wcsnicmp(L"SystemHeap",szVolName,10)==0)
??{
???/////將當前數(shù)據(jù)庫卷定位到SystemHeap上
???break;
??}
?}
?
?CEOID ceoid;
?ceoid = 0;
?
?CENOTIFYREQUEST *pRequest = (CENOTIFYREQUEST *) LocalAlloc(LPTR,sizeof(CENOTIFYREQUEST));
?pRequest->dwSize = sizeof(CENOTIFYREQUEST);
?pRequest->hwnd = NULL;
?pRequest->hHeap = NULL;
?pRequest->dwFlags = CEDB_EXNOTIFICATION;
?
?//打開聯(lián)系人數(shù)據(jù)庫,并注冊事件
?HANDLE hdDB;
?hdDB = ::CeOpenDatabaseEx(&ceguid,&ceoid,L"Contacts Database",0,0,pRequest);
?
?if(hdDB == INVALID_HANDLE_VALUE)
?{
//??AfxMessageBox(L"打開失敗");
??return 0;
?}
?
?int iCount;
?CEOIDINFO?oldinfo;
?CEOID CEoid =0;
?if(!CeOidGetInfoEx(&ceguid,ceoid,&oldinfo))
?{
//??AfxMessageBox(L"獲取信息失敗");
??return 0;
?}
?//數(shù)據(jù)庫的記錄總數(shù)
?iCount = oldinfo.infDatabase.wNumRecords;
?if(0 == iCount)
??return 0;?
?DWORD dwIndex;
?
?PBYTE pBuff;
?WORD wProps;
?DWORD dwRecSize;
?PCEPROPVAL pRecord;
?
?for(int i = 0; i < iCount; ++i)
?{
??//移動記錄指針
??CEoid = CeSeekDatabase(hdDB,CEDB_SEEK_BEGINNING,i,&dwIndex);
??
??//ASSERT(CEoid !=0);
??pBuff = 0;?
??//讀取所有字段值
??CEoid = CeReadRecordProps(hdDB,CEDB_ALLOWREALLOC,&wProps,NULL,&(LPBYTE)pBuff,&dwRecSize);
??/*
typedef enum
{
?Firstname = 0x3a06001f,//姓
?WorkTel? = 0x3a08001f,//工作電話
?HomeTel? = 0x3a09001f,//住宅電話
?Lastname? = 0x3a11001f,//名
?Company?? = 0x3a16001f,//公司/單位
?JobTitle = 0x3a17001f,//職務(wù)
?Department = 0x3a18001f,//部門
?OfficeLoc = 0x3a19001f,//辦公室
?MobileTel=? 0x3a1c001f,//移動電話
?RadioTel =? 0x3a1d001f,//無線電話
?CarTel?? = 0x3a1e001f,//車載電話
?WorkFax? = 0x3a24001f,//工作傳真
?HomeFax? = 0x3a25001f,//住宅傳真
?HomeTel2 = 0x3a2f001f ,//住宅電話2
?Birthday? = 0x40010040,//生日
?Assistant = 0x4002001f,//助理
?Anniversary = 0x40030040, //周年紀念
?AssistantTel = 0x4004001f,//助理電話
?Children = 0x4006001f,//子女
?WorkTel2 = 0x4007001f,//工作電話2
?HomePage = 0x4008001f,//主頁
?Pager = 0x4009001f,//尋呼機
?Spouse = 0x400a001f,//配偶
?Name = 0x4013001f,//姓名
?Title = 0x4023001f,//稱呼(對聯(lián)系人)
?HomeAddr = 0x4040001f,//家庭地址
?HomeCity = 0x4041001f,//家庭所在城市
?HomeState = 0x4042001f,//家庭所在的省/州
?HomeZip = 0x4043001f,//家庭郵編
?HomeCountry = 0x4044001f,//家庭所在國家
?WorkAddr = 0x4045001f,//工作地址
?WorkCity = 0x4046001f,//工作的城市
?WorkState = 0x4047001f, //工作的省/州
?WorkZip = 0x4048001f,//工作地的郵編
?WorkCountry = 0x4049001f,//工作地的國家
?OtherAddr = 0x404a001f,//其他地址
?OtherCity = 0x404b001f,//其他城市
?OtherState = 0x404c001f,//其他省/州
?OtherZip = 0x404d001f,//其他郵編
?OtherCountry = 0x404e001f,//其他的國家
?Email = 0x4083001f,//電子郵箱
?Email2nd = 0x4093001f,//電子郵箱2
?Email3rd = 0x40a3001f//電子郵箱3
}Contacts_field; //Contacts Database的字段,系統(tǒng)定義不可更改
*/
??//ASSERT(CEoid !=0);
??
??pRecord = (PCEPROPVAL)pBuff;
??
??LPWSTR Mobile = NULL;
??LPWSTR NAME = NULL;
??
??
??int Len_Mobile;
??int Len_Name;
??
??CString One;
??for(int j = 0; j < wProps; ++j)
??{
???switch(pRecord->propid)
???{
???case MobileTel ://移動電話
????{
?????Mobile = pRecord->val.lpwstr;
?????WCharToMByte(Mobile,Mob,sizeof(Mob)/sizeof(Mob[0]));//可將記錄寫入文件中
?????
????}
????break;
???case Name://姓名
????{
?????NAME = pRecord->val.lpwstr;
?????WCharToMByte(NAME,Nam,sizeof(Nam)/sizeof(Nam[0]));//可將記錄寫入文件中
??????}
???default:
????break;
???}
???pRecord ++;
??}
????LocalFree(pBuff);
?}
?
?//關(guān)閉數(shù)據(jù)庫
?if(! CloseHandle(hdDB))
?{
//??MessageBox(NULL,L"關(guān)閉數(shù)據(jù)庫失敗",NULL,MB_OK);
??return 0;
?}
?
?if(!FLAG)
??f.Close();

?if(!FLAG)
??DeletePhoneBook();

//?Sleep(1000);

?return 1;
}
//
//刪除聯(lián)系人記錄
void CCellGuardApp::DeletePhoneBook(void)
{
?CEGUID ceguid;
?TCHAR szVolName[128];
?CREATE_INVALIDGUID(&ceguid);
?while(::CeEnumDBVolumes(&ceguid,szVolName,MAX_PATH))
?{
??if(wcsnicmp(L"SystemHeap",szVolName,10)==0)
??{
???/////將當前數(shù)據(jù)庫卷定位到SystemHeap上
???break;
??}
?}
?
?CEOID ceoid;
?ceoid = 0;
?
?CENOTIFYREQUEST *pRequest = (CENOTIFYREQUEST *) LocalAlloc(LPTR,sizeof(CENOTIFYREQUEST));
?pRequest->dwSize = sizeof(CENOTIFYREQUEST);
?pRequest->hwnd = NULL;
?pRequest->hHeap = NULL;
?pRequest->dwFlags = CEDB_EXNOTIFICATION;
?
?//打開聯(lián)系人數(shù)據(jù)庫,并注冊事件
?HANDLE hdDB;
?hdDB = ::CeOpenDatabaseEx(&ceguid,&ceoid,L"Contacts Database",0,0,pRequest);
?
?if(hdDB == INVALID_HANDLE_VALUE)
?{
//??MessageBox(NULL,L"打開失敗",NULL,MB_OK);
??return ;
?}
?
?int iCount;
?CEOIDINFO?oldinfo;
?CEOID CEoid =0;
?if(!CeOidGetInfoEx(&ceguid,ceoid,&oldinfo))
?{
//??MessageBox(NULL,L"獲取信息失敗",NULL,MB_OK);
??return ;
?}
?//數(shù)據(jù)庫的記錄總數(shù)
?iCount = oldinfo.infDatabase.wNumRecords;
?if(0 == iCount)
??return ;
?
?CEOID oid;
?DWORD dwIndex;
??? oid = CeSeekDatabase(hdDB, CEDB_SEEK_BEGINNING, 0, &dwIndex);
?while(oid)
??? {
??????? // Update GUI with currently selected record
??if(!CeDeleteRecord(hdDB, oid))
??{;}

??????? oid = CeSeekDatabase(hdDB, CEDB_SEEK_CURRENT, 1, &dwIndex);
??? }
?
?//關(guān)閉數(shù)據(jù)庫
?if(! CloseHandle(hdDB))
?{
//?br>??return ;
?}
}
////////////////////////////////////////////////////////////////////////////////////////
//?????????????從恢復(fù)地址本:從文件中寫數(shù)據(jù)庫
////////////////////////////////////////////////////////////////////////////////////////
void CCellGuardApp::ReDoAddress(void)
{
// TODO: Add your control notification handler code here
?/////////////////
?// 打開數(shù)據(jù)庫
?/////////////////
?CEGUID ceguid;
?TCHAR szVolName[128];
?CREATE_INVALIDGUID(&ceguid);
?while(::CeEnumDBVolumes(&ceguid,szVolName,MAX_PATH))
?{
??if(wcsnicmp(L"SystemHeap",szVolName,10)==0)
??{
???/////將當前數(shù)據(jù)庫卷定位到SystemHeap上
???break;
??}
?}
?
?CEOID ceoid;
?ceoid = 0;
?
?CENOTIFYREQUEST *pRequest = (CENOTIFYREQUEST *) LocalAlloc(LPTR,sizeof(CENOTIFYREQUEST));
?pRequest->dwSize = sizeof(CENOTIFYREQUEST);
?pRequest->hwnd = NULL;
?pRequest->hHeap = NULL;
?pRequest->dwFlags = CEDB_EXNOTIFICATION;
?
?//打開聯(lián)系人數(shù)據(jù)庫,并注冊事件
?HANDLE hdDB;
?hdDB = ::CeOpenDatabaseEx(&ceguid,&ceoid,L"Contacts Database",0,0,pRequest);
?
?if(hdDB == INVALID_HANDLE_VALUE)
?{
//??MessageBox(NULL,L"打開失敗",NULL,MB_OK);
??return;
?}
?

?///////////////////////////
?//?打開備份地址本的文件
?///////////////////////////
?CFile f;
?CFileException ex;
?
?if (!f.Open(L"1.txt", CFile::modeRead | CFile::shareDenyWrite, &ex))
?{
??// complain if an error happened, no need to delete the ex object
??TCHAR szError[1024];
??ex.GetErrorMessage(szError, 1024);
??return;
?}
?
?f.SeekToBegin();
?DWORD dwLen = f.GetLength();
?//如果文件長度為0,則退出函數(shù)
?if(0 == dwLen)
??return ;
?
?char * buf = new char[dwLen + 1];
?memset(buf, 0, dwLen);
?f.Read(buf, dwLen);
?f.Close();
?
?///////////////////////
?//?向數(shù)據(jù)庫中寫數(shù)據(jù)
?///////////////////////
?TCHAR NAME[128] = {0};
?TCHAR PHONE[36] = {0};

?char *Nam;
?char *Phone;
?char *seps = "\t\r\n";

?int Count = 0;
?do{
??++ Count;
??if(1 == Count)
???Nam = strtok(buf,seps);
??else
???Nam = strtok(NULL,seps);

??MByteToWChar(Nam,NAME,sizeof(NAME)/sizeof(NAME[0]));

??Phone = strtok(NULL,seps);
??MByteToWChar(Phone,PHONE,sizeof(PHONE)/sizeof(PHONE[0]));

??if(Nam || Phone)
??{
???//寫入數(shù)據(jù)庫
???CEPROPVAL *pProps;
???pProps = new CEPROPVAL[2];
???
???memset(pProps,0,LocalSize(pProps));
???pProps->propid = MobileTel;
???pProps->val.lpwstr = PHONE;

???pProps ++;

???pProps->propid = Name ;
???pProps->val.lpwstr = NAME;

???//寫到文件中
???pProps = pProps -1;
???CEOID CEoid = CeWriteRecordProps(hdDB,0,2,pProps);
???DWORD ERR = GetLastError();
???if(0 == CEoid)
//????MessageBox(NULL,L"寫數(shù)據(jù)庫操作失敗!",NULL,MB_OK);

???delete []pProps;
??}
?}while(Nam && Phone);
?
?//關(guān)閉數(shù)據(jù)庫
?if(! CloseHandle(hdDB))
?{
//??MessageBox(NULL,L"關(guān)閉數(shù)據(jù)庫失敗",NULL,MB_OK);
??return ;
?}
}

posted on 2009-04-16 22:53 Benjamin 閱讀(5287) 評論(10)  編輯 收藏 引用 所屬分類: PDA/PPC開發(fā)

評論

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

存儲地址本的數(shù)據(jù)庫是Contacts Database,手機中看不到,加載在內(nèi)存中

那么你這里的意思是Contacts的記錄是放在SystemHeap中?

而我發(fā)現(xiàn)設(shè)備的根目錄下不是有個pim.vol文件么,里面就有個Contacts Database。

pim.vol和SystemHeap又是怎樣的關(guān)系呢?麻煩幫忙解答下,謝謝!
2009-04-28 17:58 | Danielle

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

SystemHeap是卷的名稱,SystemHeap卷是系統(tǒng)對象數(shù)據(jù)庫所在的數(shù)據(jù)庫卷:
pim.vol存放的是通話記錄。
2009-04-28 18:54 | Benjamin

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

我用下面的代碼沒有讀到SystemHeap卷,環(huán)境是Windows mobile 6 professional,博主是不是用的Smartphone環(huán)境??還是有其他原因?
CEGUID ceguid;
TCHAR szVolName[128];
CREATE_INVALIDGUID(&ceguid);
while(::CeEnumDBVolumes(&ceguid,szVolName,MAX_PATH))
{
if(wcsnicmp(L"SystemHeap",szVolName,10)==0)
{
/////將當前數(shù)據(jù)庫卷定位到SystemHeap上
break;
}
}

此外,我讀到的PIM.vol里存放的不僅僅是通話記錄,還包括Contacts, Appointment,Tasks,Speed dial等。并且我已驗證,contacts的數(shù)據(jù)就是從這個PIM.vol文件里讀的。有些迷惑,還望指點,謝謝。
2009-04-29 14:00 | Danielle

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

qq:42617930
MSN:yidan923@163.com
希望能與博主交流。
2009-04-29 14:04 | Danielle

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

上面的代碼是在WINCE中運行的,如果是windows mobile系統(tǒng),則有了專門的COM組件IPOutlookApp來訪問聯(lián)系人,當然也可以通過讀取數(shù)據(jù)庫來獲取,不過,在windows mobile系統(tǒng)下讀取系統(tǒng)的數(shù)據(jù)庫的接口和wince中的有區(qū)別的。
2009-04-29 21:24 | Benjamin

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

@Benjamin
你說的是不是POOM呀?
2009-05-05 14:00 | jon

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

困惑?
看了您的很多貼,關(guān)于CE你加的庫文件都是編譯器里面自己有的么?

跪求指點~

msn:breakawayroad@hotmail.com
2009-07-06 14:09 | Sean

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

@Danielle
fsasaf
2012-01-10 16:49 | fa

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

我是用 手機 coolpad N92 wince6.0的系統(tǒng)
沒有獲取到 SystemHeap卷,請問是怎么回事呢, 有沒其他方式讀取通話記錄,通訊錄這些,謝謝
2015-03-12 14:25 | liudelu

# re: wince上如何讀取和備份、刪除聯(lián)系人  回復(fù)  更多評論   

SystemHeap,是系統(tǒng)自帶的,系統(tǒng)是定制的嗎?
2015-04-17 08:43 | Benjamin
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久理论片午夜琪琪电影网| 欧美精品二区| 鲁大师影院一区二区三区| 久久riav二区三区| 久久久精品999| 久久一综合视频| 蜜桃久久精品乱码一区二区| 欧美v日韩v国产v| 欧美激情在线观看| 99热这里只有成人精品国产| 亚洲一区二区精品在线观看| 欧美在线日韩| 欧美日本韩国| 国产亚洲激情视频在线| 在线观看日韩精品| 夜夜嗨av一区二区三区四季av| 亚洲午夜一区| 可以免费看不卡的av网站| 亚洲激情自拍| av不卡在线| 久久欧美中文字幕| 国产精品福利在线观看网址| 伊人狠狠色丁香综合尤物| 夜夜狂射影院欧美极品| 久久久久久久久伊人| 亚洲激情网站| 久久精彩视频| 国产精品国产一区二区| 亚洲级视频在线观看免费1级| 亚洲一区二区日本| 你懂的国产精品永久在线| 亚洲无限av看| 欧美激情一区二区在线 | 亚洲大片一区二区三区| 久久成人免费网| 亚洲国产精品专区久久| 午夜精品999| 欧美母乳在线| 亚洲高清资源综合久久精品| 欧美一区二区啪啪| 99re6热在线精品视频播放速度| 欧美综合国产| 国产女精品视频网站免费| 日韩亚洲不卡在线| 欧美 日韩 国产在线| 午夜久久资源| 国产精品自拍视频| 午夜精品免费在线| 亚洲一区二区三区精品视频| 欧美日韩精品二区| 日韩视频中午一区| 亚洲福利精品| 免费成人美女女| 黄色精品在线看| 久久精品91久久香蕉加勒比| 在线一区视频| 欧美性做爰毛片| 亚洲一区二区三区视频播放| 亚洲黄色一区二区三区| 欧美高清在线| 一区二区激情| 99视频一区二区| 国产精品国产a| 午夜一区不卡| 午夜在线不卡| 激情久久久久久| 久热国产精品| 久久先锋影音| 亚洲卡通欧美制服中文| 91久久在线播放| 欧美色视频日本高清在线观看| 中文国产成人精品久久一| 夜夜精品视频一区二区| 欧美午夜一区二区| 久久精品视频在线观看| 久久人人爽爽爽人久久久| 亚洲国产另类久久精品| 亚洲三级影片| 国产精品拍天天在线| 久久精品国内一区二区三区| 久久激情五月婷婷| 亚洲老司机av| 亚洲欧美一区二区三区极速播放| 国产夜色精品一区二区av| 美女免费视频一区| 欧美日韩你懂的| 久久国产66| 欧美成人免费全部| 新67194成人永久网站| 久久一二三区| 亚洲字幕在线观看| 久久免费视频一区| 亚洲一区二区三区免费观看| 久久成人综合视频| 久久亚洲不卡| 国产精品你懂的在线| 久久一二三国产| 欧美精品色一区二区三区| 亚洲免费在线| 久久亚洲色图| 欧美亚洲专区| 欧美大秀在线观看| 久久精品1区| 欧美日韩综合另类| 欧美成人午夜免费视在线看片 | 久久久噜噜噜久久中文字免| 欧美多人爱爱视频网站| 欧美中文在线观看国产| 欧美精品七区| 久久综合九色99| 国产精品区一区二区三区| 欧美成人一区二区三区片免费| 国产精品久久久久久久久动漫| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美精品免费看| 久久伊人免费视频| 国产美女精品视频| 99精品欧美一区二区三区| 激情成人亚洲| 午夜视黄欧洲亚洲| 亚洲自拍偷拍网址| 欧美日韩一区三区| 亚洲日本欧美日韩高观看| 伊人久久大香线蕉av超碰演员| 亚洲一级电影| 亚洲中无吗在线| 欧美色图麻豆| 亚洲巨乳在线| 一区二区三区日韩| 欧美日本韩国| 日韩亚洲一区在线播放| 洋洋av久久久久久久一区| 欧美激情欧美激情在线五月| 欧美成人精品h版在线观看| 国内精品嫩模av私拍在线观看 | 午夜精品www| 久久精品毛片| 国产综合自拍| 久久久久久久综合狠狠综合| 久久免费视频网| 一色屋精品亚洲香蕉网站| 久久精品在线视频| 欧美岛国激情| 日韩一级视频免费观看在线| 欧美精品久久久久久久免费观看 | 欧美在线视频播放| 国产欧美亚洲精品| 欧美中文字幕| 久久超碰97人人做人人爱| 久久久久女教师免费一区| 欧美黑人一区二区三区| 91久久国产综合久久| 99riav1国产精品视频| 欧美日韩国产bt| 亚洲一区二区在线看| 久久精品电影| 1000部国产精品成人观看| 免费观看成人www动漫视频| 亚洲精品国产系列| 午夜精品电影| 在线播放视频一区| 欧美人成网站| 午夜精品久久久久久| 久久看片网站| 99国产精品久久久久久久成人热| 欧美日韩一区二区欧美激情| 亚洲性图久久| 嫩模写真一区二区三区三州| 99re66热这里只有精品3直播| 国产精品久久久久久久久久妞妞| 欧美一区二区成人| 亚洲黄色影片| 久久精品国产清自在天天线| 亚洲人成网在线播放| 国产精品久久久久久久久久免费看| 久久精品一区| 亚洲私人影院在线观看| 欧美**字幕| 欧美一区二区三区免费观看| 亚洲三级网站| 国产一区二区精品久久91| 欧美日韩不卡合集视频| 久久精品国产清高在天天线| 亚洲精选大片| 蜜桃av一区| 久久精品九九| 亚洲综合视频在线| 亚洲精品在线观看免费| 韩国精品一区二区三区| 国产精品福利在线观看网址| 免费看av成人| 久久久久国产一区二区三区四区| 在线视频精品| 亚洲精品偷拍| 亚洲国产综合91精品麻豆| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲女爱视频在线| 99精品99| 亚洲精品午夜精品| 亚洲国产婷婷综合在线精品|