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

萬(wàn)星星@豌豆莢 歡迎加入我們
一個(gè)吃軟飯的男人!!!!!我只想寫程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0
總愛(ài)嘮叨幾句(只關(guān)心技術(shù)的人可以跳過(guò),^_^)
來(lái)北京前,在武漢做開(kāi)發(fā),那里全部用VC,并且采用比較傳統(tǒng)的方法解決問(wèn)題。漸漸的,我感覺(jué)到自己的知識(shí)體系很不完善,做事情總是想采取簡(jiǎn)潔通用完美的方案,然而認(rèn)識(shí)有限總是無(wú)功而返,回到傳統(tǒng)解決途徑上去。那個(gè)地方?jīng)]有人可以教我,可能由于大家專注不同。一個(gè)人苦心鉆研技術(shù),顯得煢煢孑立,很多時(shí)候我都在懷疑為什么別人可以查閱到那么多資料,他們到底有什么秘訣?我看到我的研究生同學(xué),他們都在公司做技術(shù),應(yīng)該很有朝氣活力,敢于研究技術(shù)的。可是我為他們擔(dān)心,他們逐漸淪為代碼機(jī)器,不敢于改革自己現(xiàn)有的編程模式,把思維禁錮在一個(gè)很小的范圍。我的一個(gè)同學(xué)給我發(fā)牢騷,說(shuō)頭又給他一個(gè)MIS項(xiàng)目維護(hù)代碼,抱怨里面代碼如何亂,風(fēng)格如何糟糕,動(dòng)不動(dòng)就死機(jī)。他總問(wèn)我某個(gè)控件實(shí)現(xiàn)特定功能怎么做,我很抱歉,因?yàn)橛械奈乙膊恢馈N蚁肫?年前的自己,熱衷于駕馭控件的技巧,機(jī)器上的各類控件琳瑯滿目,每發(fā)現(xiàn)一個(gè)好控件,如獲珍寶收藏起來(lái),然而大多都沒(méi)有派上用場(chǎng)。學(xué)習(xí)的過(guò)程讓我明白一個(gè)道理:應(yīng)該形成解決問(wèn)題的方案,學(xué)會(huì)解決問(wèn)題才是王道。
大三開(kāi)的COM課程,我剛一接觸,就深深愛(ài)上這個(gè)東西,當(dāng)時(shí)幾個(gè)班就我最用心學(xué),可能大家覺(jué)得很難沒(méi)有認(rèn)真學(xué)。我想說(shuō)的是要感謝COM,它應(yīng)該是C++開(kāi)發(fā)從編碼到設(shè)計(jì)的轉(zhuǎn)折點(diǎn),給我最深的感覺(jué)就是它是一種框架行為。
來(lái)到北京,我的視野開(kāi)闊很多,在一個(gè)技術(shù)遠(yuǎn)遠(yuǎn)超過(guò)自己的人的指點(diǎn)下,我如沐春風(fēng)。我從一個(gè)不怕coding的人成長(zhǎng)成一個(gè)不怕設(shè)計(jì)的人,自然心高氣爽許多。

框架技術(shù)體系

一直喜歡講體系,學(xué)習(xí)技術(shù),總是想把握住整個(gè)體系,有利有弊。利就是眼界開(kāi)闊,增加底氣;弊就是戰(zhàn)線太長(zhǎng),自己很疲憊。非常贊成中國(guó)的中庸思想,對(duì)于我來(lái)說(shuō),COM就是中庸,上下開(kāi)壑,開(kāi)辟.NET和OLE學(xué)習(xí)之路。
Automation作為COM之前的一種老技術(shù),翻譯過(guò)來(lái)叫自動(dòng)化。由于一開(kāi)始接觸的就是COM,習(xí)慣COM和MFC分離開(kāi)發(fā),因此一直沒(méi)有很好理解Automation技術(shù),只知道它集成在MFC應(yīng)用中,以類型庫(kù)方式提供服務(wù)。
昨天寫完MFC和VBA集成后,突然感覺(jué)到MFC應(yīng)用和VBE集成之間的牽連,能感覺(jué)到VBE就像一個(gè)提供Automation的Server。于是我花了一些事件研究Automation,不知為何,我總懷戀老技術(shù),喜歡琢磨“過(guò)時(shí)”的東西。
總感嘆Office系列軟件,如此無(wú)縫集成,毫無(wú)疑問(wèn),它的模型是非常清晰的,框架架構(gòu)出來(lái)的應(yīng)該就是模型,這種架構(gòu)技巧需要技術(shù)的積累。我曾經(jīng)下決心學(xué)習(xí)設(shè)計(jì)模式,每每都沉不住氣。當(dāng)我深入學(xué)習(xí)MFC各種應(yīng)用開(kāi)發(fā)模型的時(shí)候,我明白了高人思維為何深邃,源于他們對(duì)MFC的深入探索。MFC在許多人眼里過(guò)時(shí)了,我談過(guò)的很多技術(shù)也有人指出落后了,我喜歡深入研究MFC,因?yàn)樗锩嬗性S多思想值得學(xué)習(xí)。

Automation開(kāi)發(fā)
這里我以對(duì)話框應(yīng)用程序討論自動(dòng)化,當(dāng)然象office那樣的大型軟件在app,mainframe,doc層面上都有。
建立一個(gè)基于對(duì)話框的MFC應(yīng)用程序,注意選擇automation支持。簡(jiǎn)單來(lái)說(shuō)實(shí)現(xiàn)了IDispatch接口的類支持自動(dòng)化。
生成一個(gè)對(duì)話框類和一個(gè)對(duì)話框代理類,VBA里面也存在這種思想。一個(gè)C++類對(duì)象是死的,接口是活得,所以要是的應(yīng)用靈活,就必須為對(duì)象配備一個(gè)組件對(duì)象,外界可以通過(guò)組件接口操縱C++對(duì)象。
Dlg類中有成員
CAutomationServerDlgAutoProxy*?m_pAutoProxy;
代理類中有成員
CAutomationServerDlg*?m_pDialog;
這個(gè)就稱為“對(duì)偶”設(shè)計(jì)模式吧!
這個(gè)程序可以作為獨(dú)立程序啟動(dòng),也可以作為自動(dòng)化服務(wù)啟動(dòng)。
為自動(dòng)化接口添加屬性,為自動(dòng)化控制(客戶程序)提供服務(wù):

自動(dòng)化屬性實(shí)現(xiàn):
BOOL?CAutomationServerDlgAutoProxy::GetVisible()?
{
????
//?TODO:?Add?your?property?handler?here
????
????
return?(m_pDialog!=NULL?&&?(m_pDialog->GetStyle()&WS_VISIBLE)!=0);
}


void?CAutomationServerDlgAutoProxy::SetVisible(BOOL?bNewValue)?
{
????
//?TODO:?Add?your?property?handler?here
????if(bNewValue?=?GetVisible())
????
{
????????
return;
????}

????
//?visiable
????if(bNewValue)
????
{
????????
//?embed?start
????????if(m_pDialog?==?NULL)
????????
{
????????????
if(AfxGetThread()->m_pMainWnd?==?NULL)
????????????
{
????????????????m_pDialog?
=?new?CAutomationServerDlg();
????????????????AfxGetThread()
->m_pMainWnd?=?m_pDialog;
????????????}

????????????
//?show?it
????????????m_pDialog->ShowWindow(SW_SHOWNORMAL);
????????}

????}

????
else
????
{
????????m_pDialog
->ShowWindow(SW_HIDE);
????}

}

BSTR?CAutomationServerDlgAutoProxy::GetWindowText()?
{
????CString?strResult;
????
//?TODO:?Add?your?property?handler?here
????m_pDialog->GetWindowText(strResult);
????
return?strResult.AllocSysString();
}


void?CAutomationServerDlgAutoProxy::SetWindowText(LPCTSTR?lpszNewValue)?
{
????
//?TODO:?Add?your?property?handler?here
????m_pDialog->SetWindowText(lpszNewValue);
}

自動(dòng)化注冊(cè)機(jī)制
在自動(dòng)化代理類里面有這樣一個(gè)宏聲明:
?
IMPLEMENT_OLECREATE2(CAutomationServer2DlgAutoProxy,?"AutomationServer2.Application",?0xaa98c00e,?0xd46f,?0x4e9e,?0xaf,?0x97,?0xc8,?0x24,?0xa0,?0x29,?0xe4,?0xa4)
看看IMPLEMENT_OLECREATE2的定義:
#ifndef?IMPLEMENT_OLECREATE2
#define?IMPLEMENT_OLECREATE2(class_name,?external_name,?l,?w1,?w2,?b1,?b2,?b3,?b4,?b5,?b6,?b7,?b8)?\
????AFX_DATADEF?COleObjectFactory?class_name::factory(class_name::guid,?\
????????RUNTIME_CLASS(class_name),?FALSE,?_T(external_name));?\
????
const?AFX_DATADEF?GUID?class_name::guid?=?\
????????
{?l,?w1,?w2,?{?b1,?b2,?b3,?b4,?b5,?b6,?b7,?b8?}?};
#endif?//?IMPLEMENT_OLECREATE2
具體注冊(cè)代碼是:
COleObjectFactory::UpdateRegistryAll();
但是這個(gè)函數(shù)似乎與上面的宏定義沒(méi)有關(guān)系,為了找到關(guān)系我進(jìn)入U(xiǎn)pdateRegistryAll函數(shù)內(nèi)部,發(fā)現(xiàn):
for?(COleObjectFactory*?pFactory?=?pModuleState->m_factoryList;
????????pFactory?
!=?NULL;?pFactory?=?pFactory->m_pNextFactory)
????
{
????????
if?(!pFactory->UpdateRegistry(bRegister))
????????
{
????????????AfxUnlockGlobals(CRIT_OBJECTFACTORYLIST);
????????????
return?FALSE;
????????}

????}
原來(lái)模塊狀態(tài)記錄了所有類廠列表,為了找到類廠列表加入類廠位置,我搜索了mfc源碼,發(fā)現(xiàn)OLEFACT.cpp里面有這樣的代碼:
COleObjectFactory::COleObjectFactory(REFCLSID?clsid,
????CRuntimeClass
*?pRuntimeClass,?BOOL?bMultiInstance,?LPCTSTR?lpszProgID)
{
????ASSERT(pRuntimeClass?
==?NULL?||
????????pRuntimeClass
->IsDerivedFrom(RUNTIME_CLASS(CCmdTarget)));
????ASSERT(AfxIsValidAddress(
&clsid,?sizeof(CLSID),?FALSE));
????ASSERT(lpszProgID?
==?NULL?||?AfxIsValidString(lpszProgID));

????
//?initialize?to?unregistered?state
????m_dwRegister?=?0;???//?not?registered?yet
????m_bRegistered?=?FALSE;
????m_clsid?
=?clsid;
????m_pRuntimeClass?
=?pRuntimeClass;
????m_bMultiInstance?
=?bMultiInstance;
????m_lpszProgID?
=?lpszProgID;
????m_bOAT?
=?(BYTE)?OAT_UNKNOWN;

????
//?licensing?information
????m_bLicenseChecked?=?FALSE;
????m_bLicenseValid?
=?FALSE;

????
//?add?this?factory?to?the?list?of?factories
????m_pNextFactory?=?NULL;
????AFX_MODULE_STATE
*?pModuleState?=?_AFX_CMDTARGET_GETSTATE();
????AfxLockGlobals(CRIT_OBJECTFACTORYLIST);
????pModuleState
->m_factoryList.AddHead(this);
????AfxUnlockGlobals(CRIT_OBJECTFACTORYLIST);

????ASSERT_VALID(
this);
}
原來(lái)類廠構(gòu)造函數(shù)里面把自己加入到模塊狀態(tài)的列表里面。
現(xiàn)在總結(jié)一下:IMPLEMENT_OLECREATE2宏定義了一個(gè)類廠實(shí)例,在構(gòu)造的時(shí)候加入模塊狀態(tài)的類廠列表,然后在模塊初始化的時(shí)候,調(diào)用類廠的UpdateRegistry函數(shù)更新注冊(cè)表,實(shí)現(xiàn)注冊(cè)。

Automation調(diào)用
下面生成一個(gè)客戶程序控制AutomationServer,基于MFC對(duì)話框應(yīng)用程序。
添加自動(dòng)化程序產(chǎn)生的類型庫(kù):添加類->從類型庫(kù)導(dǎo)入剛生成的tlb文件,向?qū)?huì)生成調(diào)用類。
創(chuàng)建自動(dòng)化組件,顯示自動(dòng)化服務(wù)程序:
if(m_ias.CreateDispatch("AutomationServer.Application"))
{
????m_ias.SetVisible(TRUE);
}

通過(guò)按鈕事件設(shè)置服務(wù)器窗口標(biāo)題,演示調(diào)用服務(wù):
void?CAutomationControlDlg::OnButtonSettext()?
{
????
//?TODO:?Add?your?control?notification?handler?code?here
????UpdateData();
????
if(m_ias.m_lpDispatch)
????
{
????????m_ias.SetWindowText(m_strText);
????}

}


void?CAutomationControlDlg::OnButtonGettext()?
{
????
//?TODO:?Add?your?control?notification?handler?code?here
????if(m_ias.m_lpDispatch)
????
{
????????m_strText?
=?m_ias.GetWindowText();
????????UpdateData(FALSE);
????}

}

下面是截圖
控制啟動(dòng)激活自動(dòng)化服務(wù)程序:

調(diào)用自動(dòng)化服務(wù)功能


代碼下載
posted on 2006-08-31 20:33 萬(wàn)連文 閱讀(4376) 評(píng)論(7)  編輯 收藏 引用 所屬分類: MFC

FeedBack:
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 20:57 | 漂舟
好文 ,
“一直喜歡講體系,學(xué)習(xí)技術(shù),總是想把握住整個(gè)體系”,
支持這一點(diǎn),這段時(shí)間沒(méi)做項(xiàng)目,
潛心在做研究 ?
程序我沒(méi)看,只看你文字介紹就相當(dāng)不錯(cuò)了,
今天從辦公室才回來(lái)一會(huì),
邊吃方便面邊看,  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 21:01 | 漂舟
“逐漸淪為代碼機(jī)器,
不敢于改革自己現(xiàn)有的編程模式,
把思維禁錮在一個(gè)很小的范圍”
偶深有感觸,差點(diǎn)就變成這種類型的Coder了,
每天為了快速完成特定的業(yè)務(wù),沒(méi)精力研究其它更多的東西,
只有在晚上下班后,疲倦了都還要強(qiáng)堅(jiān)持看書,
羨慕你,經(jīng)常做做研究,學(xué)學(xué)宏觀的東西,
真爽
  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 21:29 | 萬(wàn)連文
現(xiàn)在不知道是工作還是學(xué)習(xí),可能都算,在北京遇到一個(gè)編程前輩,指點(diǎn)我,現(xiàn)在主要做MFC/ATL/.NET/ActiveX混合編程框架,有時(shí)間我就搞點(diǎn)古老玩意。  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 21:58 | 漂舟
得到"編程前輩“的指點(diǎn),
這一點(diǎn)太好了啊,
可以在宏觀上、大的策略上,或者編程之路上少走點(diǎn)彎路,
或走上條”捷徑“,
我一直想找機(jī)會(huì)擺脫當(dāng)前環(huán)境,
想找個(gè)有能人的地方,好好學(xué)學(xué),
我們公司是私人性質(zhì)的小公司,
我在里面都還算是軟件項(xiàng)目"帶頭大哥",真慚愧,
你機(jī)遇比較好,再加上勤奮,
前途無(wú)量,
女朋友也會(huì)有更好的 :)

我喜歡看MFC源碼 ,這段時(shí)間比較多的在研究C++各項(xiàng)技術(shù)  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 22:14 | 萬(wàn)連文
注意利用MFC、.NET等向?qū)W(xué)習(xí)技術(shù),注意學(xué)會(huì)利用MSDN學(xué)習(xí)技術(shù)、注意向身邊有思想的人學(xué)習(xí)技術(shù)是我總結(jié)的學(xué)習(xí)技術(shù)的方法。2004年10月8日進(jìn)入公司做項(xiàng)目,掐指一算快2年,對(duì)自己技術(shù)的提高還算滿意。深刻體會(huì)到一句話:編程不扎實(shí)做上十年根本無(wú)法談上技術(shù)大師。MFC的Frame框架、文檔視圖、控制條等源碼部分都值得反復(fù)學(xué)習(xí)。  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2006-08-31 23:27 | 漂舟
”注意向身邊有思想的人學(xué)習(xí)技術(shù)“,
同感,特別是那些經(jīng)驗(yàn)老道的程序員,
或系統(tǒng)分析員,項(xiàng)目開(kāi)發(fā)總設(shè)計(jì)師,
只是我周圍的生活圈,
像這類的長(zhǎng)者太少了。  回復(fù)  更多評(píng)論
  
# re: MFC應(yīng)用集成老技術(shù)自動(dòng)化(Automation)
2008-12-24 11:04 | lijinyan3000
好,寫的相當(dāng)好!!!  回復(fù)  更多評(píng)論
  
簡(jiǎn)歷下載
聯(lián)系我

<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用鏈接

留言簿(66)

隨筆分類

隨筆檔案

相冊(cè)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久久久久久久久久久一区| 最新国产精品拍自在线播放| 久久精品1区| 夜夜嗨一区二区| 日韩网站在线观看| 亚洲精品一区二区三区不| 亚洲二区免费| 久久精品99国产精品| 国产精品一区二区视频| 国产精品久久久久免费a∨| 欧美天堂亚洲电影院在线观看| 欧美三级午夜理伦三级中视频| 欧美日韩在线播放一区| 国产精品v片在线观看不卡| 国产精品成人在线观看| 国产精品日韩欧美一区二区三区| 国产日韩精品一区二区| 国产精品美女久久久久久2018| 国产精品你懂的在线| 国产女人精品视频| 六月天综合网| 欧美视频不卡中文| 国产亚洲欧洲| 亚洲欧洲日本一区二区三区| 一本久久a久久精品亚洲| 亚洲欧美日韩国产综合精品二区| 久久精品最新地址| 亚洲激情电影在线| 亚洲欧美日韩直播| 欧美激情精品久久久久久黑人 | 欧美在线观看网站| 久久综合网hezyo| 亚洲精品一区二区三区婷婷月| 翔田千里一区二区| 欧美日本三区| 伊人精品在线| 亚洲女性喷水在线观看一区| 久久在线视频| 亚洲一区二区免费视频| 暖暖成人免费视频| 国产一区二区无遮挡| 一本大道av伊人久久综合| 久久久久久久高潮| 亚洲影院污污.| 欧美日韩高清在线播放| 欧美精品日日鲁夜夜添| 亚洲第一天堂av| 日韩午夜三级在线| 美女国内精品自产拍在线播放| 国产精品一区2区| 亚洲小视频在线观看| 亚洲欧洲日产国产网站| 久久中文精品| 在线精品在线| 久久婷婷国产综合精品青草| 亚洲女性喷水在线观看一区| 欧美性片在线观看| 一本色道久久88综合日韩精品| 亚洲第一搞黄网站| 欧美成人69av| 99在线精品视频在线观看| 亚洲国产另类 国产精品国产免费| 久久精品夜色噜噜亚洲a∨ | 在线观看一区| 久久伊人一区二区| 久久久久久电影| 黑人一区二区| 美国十次成人| 久久久久国产一区二区三区| 国产精品国产三级国产普通话99| 日韩一区二区久久| 欧美96在线丨欧| 欧美.www| 亚洲成色精品| 免费久久精品视频| 欧美专区在线播放| 国产日韩在线视频| 久久国产精品99国产精| 久久精品五月婷婷| 国内外成人免费激情在线视频网站| 欧美一区二区精品久久911| 99精品国产高清一区二区| 欧美精品免费视频| 亚洲免费观看高清完整版在线观看| 久久综合亚洲社区| 久久伊人一区二区| 欧美日韩国产探花| 欧美在线观看一区| 欧美一区二区女人| 国产亚洲女人久久久久毛片| 欧美一级艳片视频免费观看| 亚洲欧美一区二区三区久久 | 国产精品久久久久国产a级| 99视频日韩| 99国产精品99久久久久久粉嫩| 欧美片在线观看| 亚洲综合日韩在线| 亚洲欧美日韩一区二区三区在线观看 | 亚洲免费高清视频| 欧美日韩高清在线播放| 久久精品五月| 中国成人在线视频| 亚洲午夜影视影院在线观看| 国产热re99久久6国产精品| 久久av红桃一区二区小说| 久久精品亚洲热| 亚洲狼人精品一区二区三区| 亚洲精品国久久99热| 国产精品日韩精品| 欧美中在线观看| 欧美巨乳在线| 亚洲欧美视频在线| 久久精品国产清高在天天线| 亚洲国产精品成人一区二区| 亚洲人成网站精品片在线观看 | 蜜臀av一级做a爰片久久 | 麻豆精品视频在线观看| 午夜精品福利视频| 久久www成人_看片免费不卡| 亚洲国产另类久久久精品极度| 亚洲区在线播放| 国产视频一区二区在线观看| 欧美激情亚洲视频| 国产乱码精品一区二区三| 欧美寡妇偷汉性猛交| 欧美午夜精品理论片a级按摩| 亚洲午夜91| 久热精品视频在线免费观看| 亚洲欧美视频| 欧美精品一区在线播放| 久久国产精品一区二区三区| 久久精品最新地址| 久久久免费精品| 国产精品成人一区二区艾草| 免费在线成人av| 国产日韩精品一区| 夜久久久久久| 亚洲精品久久久蜜桃| 欧美亚洲一区二区三区| 亚洲午夜久久久| 乱码第一页成人| 久久综合久久久| 国产麻豆日韩| 亚洲人成网站在线观看播放| 亚洲日本va午夜在线电影| 欧美伊人久久久久久久久影院 | 国产精品久久久久久超碰| 国模私拍一区二区三区| 欧美一区二区三区四区高清 | 欧美freesex交免费视频| 国产伦精品一区二区| 亚洲精品久久久久久下一站| 伊人久久综合97精品| 性欧美办公室18xxxxhd| 亚洲欧美色婷婷| 国产精品日韩欧美一区| 亚洲私人影院| 亚洲欧美大片| 欧美日韩三级在线| 亚洲乱码国产乱码精品精98午夜 | 美女主播一区| 欧美色道久久88综合亚洲精品| 亚洲图片欧美一区| 欧美一级久久久| 国产一在线精品一区在线观看| 欧美一区二区在线观看| 久久国产福利| 狠狠色狠狠色综合人人| 久久精品国产免费观看| 欧美一级专区免费大片| 国产一区二区三区四区五区美女 | 欧美日韩亚洲网| 洋洋av久久久久久久一区| 亚洲精品色婷婷福利天堂| 欧美午夜在线| 亚洲免费网址| 久久综合中文色婷婷| 亚洲狠狠丁香婷婷综合久久久| 欧美~级网站不卡| 一区二区欧美日韩| 久久久精品视频成人| 在线观看国产成人av片| 美日韩精品视频| 一本久道久久综合婷婷鲸鱼| 午夜伦理片一区| 国产在线一区二区三区四区| 欧美成人一区二免费视频软件| 久久综合九色| 亚洲欧洲在线看| 国产精品亚洲综合一区在线观看| 欧美一级片在线播放| 欧美国产日韩精品| 亚洲一区二区毛片| 国产热re99久久6国产精品| 可以看av的网站久久看| 日韩一本二本av| 久久在精品线影院精品国产| 午夜视频久久久| 亚洲区国产区| 国产偷国产偷精品高清尤物|