久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

老生常談.NET中的 COM 組件

瀏覽:285日期:2022-06-08 15:36:12
目錄
  • 什么是COM組件?
  • 使用COM組件需要注意:
  • 一:背景
    • 1.講故事
  • 二:COM 多語(yǔ)言互操作
    • 1. 背景
    • 2. C# 寫一個(gè) COM 組件
    • 3. 注冊(cè) COM 到注冊(cè)表
    • 4. 使用 C++ 調(diào)用
  • 三:COM 多語(yǔ)言互通原理
    • 1. 架構(gòu)圖

什么是COM組件?

1.COM組件是以WIN32動(dòng)態(tài)鏈接庫(kù)(DLL)或可執(zhí)行文件(EXE)形式發(fā)布的可執(zhí)行代碼組成。

2.COM組件是一些小的二進(jìn)制可執(zhí)行文件,必須以二進(jìn)制的形式發(fā)布。

3.COM組件可以給應(yīng)用程序、操作系統(tǒng)以及其它組件提供服務(wù)。

4.自定義的COM組件可以在運(yùn)行時(shí)刻同其它組件連接起來(lái)構(gòu)成某個(gè)應(yīng)用程序。

5.COM組件必須是動(dòng)態(tài)鏈接的。

使用COM組件需要注意:

1.必須要保證升級(jí)應(yīng)用時(shí)不破壞與以前版本的向后兼容性;

2.必須要做到擴(kuò)展系統(tǒng)服務(wù)時(shí)不依賴于特定的操作系統(tǒng)。

COM組件不是一種計(jì)算機(jī)語(yǔ)言;

COM組件不是DLL,只是利用DLL來(lái)給組件提供動(dòng)態(tài)鏈接的能力;

COM組件不是API函數(shù)集;

COM組件不是類;

COM組件中的接口是一組由組件實(shí)現(xiàn)的,提供給客戶使用的函數(shù)(在COM中的接口是一個(gè)包含函數(shù)指針數(shù)組的內(nèi)存結(jié)構(gòu),數(shù)組元素是一個(gè)由組件實(shí)現(xiàn)的函數(shù)地址)。DLL的接口就是它所輸出的函數(shù)。

一:背景

1.講故事

最近遇到了好幾起和 COM 相關(guān)的Dump,由于對(duì) COM 整體運(yùn)作不是很了解,所以分析此類dump還是比較頭疼的,比如下面這個(gè)經(jīng)典的 COM 調(diào)用棧。

0:044> ~~[138c]swin32u!NtUserMessageCall+0x14:00007ffc`5c891184 c3      ret0:061> k # Child-SP  RetAddr       Call Site00 0000008c`00ffec68 00007ffc`5f21bfbe     win32u!NtUserMessageCall+0x1401 0000008c`00ffec70 00007ffc`5f21be38     user32!SendMessageWorker+0x11e02 0000008c`00ffed10 00007ffc`124fd4af     user32!SendMessageW+0xf803 0000008c`00ffed70 00007ffc`125e943b     xxx!DllUnregisterServer+0x3029f04 0000008c`00ffeda0 00007ffc`125e9685     xxx!DllUnregisterServer+0x11c22b05 0000008c`00ffede0 00007ffc`600b50e7     xxx!DllUnregisterServer+0x11c47506 0000008c`00ffee20 00007ffc`60093ccd     ntdll!LdrpCallInitRoutine+0x6f07 0000008c`00ffee90 00007ffc`60092eef     ntdll!LdrpProcessDetachNode+0xf508 0000008c`00ffef60 00007ffc`600ae319     ntdll!LdrpUnloadNode+0x3f09 0000008c`00ffefb0 00007ffc`600ae293     ntdll!LdrpDecrementModuleLoadCountEx+0x710a 0000008c`00ffefe0 00007ffc`5cd7c00e     ntdll!LdrUnloadDll+0x930b 0000008c`00fff010 00007ffc`5d47cf78     KERNELBASE!FreeLibrary+0x1e0c 0000008c`00fff040 00007ffc`5d447aa3     combase!CClassCache::CDllPathEntry::CFinishObject::Finish+0x28 [onecore\com\combase\objact\dllcache.cxx @ 3420] 0d 0000008c`00fff070 00007ffc`5d4471a9     combase!CClassCache::CFinishComposite::Finish+0x4b [onecore\com\combase\objact\dllcache.cxx @ 3530] 0e 0000008c`00fff0a0 00007ffc`5d3f1499     combase!CClassCache::FreeUnused+0xdd [onecore\com\combase\objact\dllcache.cxx @ 6547] 0f 0000008c`00fff650 00007ffc`5d3f13c7     combase!CoFreeUnusedLibrariesEx+0x89 [onecore\com\combase\objact\dllapi.cxx @ 117] 10 (Inline Function) --------`--------     combase!CoFreeUnusedLibraries+0xa [onecore\com\combase\objact\dllapi.cxx @ 74] 11 0000008c`00fff690 00007ffc`6008a019     combase!CDllHost::MTADllUnloadCallback+0x17 [onecore\com\combase\objact\dllhost.cxx @ 929] 12 0000008c`00fff6c0 00007ffc`6008bec4     ntdll!TppTimerpExecuteCallback+0xa913 0000008c`00fff710 00007ffc`5f167e94     ntdll!TppWorkerThread+0x64414 0000008c`00fffa00 00007ffc`600d7ad1     kernel32!BaseThreadInitThunk+0x1415 0000008c`00fffa30 00000000`00000000     ntdll!RtlUserThreadStart+0x21

為了做一個(gè)簡(jiǎn)單的梳理,我們搭建一個(gè)簡(jiǎn)單的多語(yǔ)言 COM 互操作。

二:COM 多語(yǔ)言互操作

1. 背景

可能很多新生代的程序員都不知道 COM ,最多也只聽(tīng)過(guò)這個(gè)名詞,其實(shí)在 Windows 上有海量的 COM 組件,這些組件信息都是注冊(cè)在 HKEY_CLASSES_ROOT\CLSID 節(jié)點(diǎn)目錄,截圖如下:

這個(gè)和微服務(wù)中的 注冊(cè)中心 是一個(gè)道理,這一篇我們用 C# 寫一個(gè)COM組件,用 C++ 去調(diào)用。

2. C# 寫一個(gè) COM 組件

寫一個(gè) .NET Framework 4.8 下的 32bit FlyCom 組件,一個(gè)接口,一個(gè)實(shí)現(xiàn)類,具體原理后續(xù)再分析,先搭建嘗嘗鮮, C# 代碼如下:

namespace FlyCom{    [Guid("31A3CED7-B4F1-4D59-881A-EA1D7ABCC4CF")]    public interface BaseFly    {[DispId(1)]string Show(string str);    }    [Guid("270C3ED3-053D-4324-9176-9C3FA2BE58A7")]    [ProgId("FlyCom.Show")]    public class Fly : BaseFly    {public string Show(string str){    return $"str={str}, length={str.Length}";}    }}

這里簡(jiǎn)單說(shuō)一下:

1.Guid

一個(gè)是接口(BaseFly) 的唯一碼,即 IID 信息, 一個(gè)是 COM組件的 唯一碼,叫做 CLSID。

2.ProgId

因?yàn)?GUID 不方便記憶,所以給這個(gè) COM組件 取一個(gè)別名叫 FlyCom.Show

3.DispId

這個(gè)是為了遵循 COM多語(yǔ)言互通下的 vtable調(diào)用標(biāo)準(zhǔn),表示第一個(gè)接口方法是 Show,后續(xù)再聊。

有了代碼,接下來(lái)還要做三個(gè)配置。

  • 對(duì) COM 的可見(jiàn)性

修改 AssemblyInfo.cs 中的 ComVisible = true,參考如下:

// Setting ComVisible to false makes the types in this assembly not visible// to COM components.  If you need to access a type in this assembly from// COM, set the ComVisible attribute to true on that type.[assembly: ComVisible(true)]
  • 生成簽名

一般來(lái)說(shuō),將 com 放到 注冊(cè)表,最好都生成一個(gè)強(qiáng)簽名,否則會(huì)有警告提示。

  • 注冊(cè) com 互操作

在屬性面板中,選擇 Build 選項(xiàng)卡,選中 Register for COM interop 選項(xiàng)即可。

3. 注冊(cè) COM 到注冊(cè)表

要將 com組件 放到注冊(cè)表,需要使用注冊(cè)表編輯工具 regasm

Microsoft Windows [版本 10.0.19042.746](c) 2020 Microsoft Corporation. 保留所有權(quán)利。C:\Users\Administrator>cd /d C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64>C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe D:\net6\ConsoleApp1\FlyCom\bin\Debug\FlyCom.dll /tlb:FlyCom.tlb  /CodeBaseMicrosoft .NET Framework 程序集注冊(cè)實(shí)用工具版本 4.8.4084.0(適用于 Microsoft .NET Framework 版本 4.8.4084.0)版權(quán)所有 (C) Microsoft Corporation。保留所有權(quán)利。成功注冊(cè)了類型成功注冊(cè)了導(dǎo)出到“D:\net6\ConsoleApp1\FlyCom\bin\Debug\FlyCom.tlb”的程序集和類型庫(kù)C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64>

從輸出中可以看到已成功注冊(cè),并且生成了一個(gè) FlyCom.tlb 代理文件,接下來(lái)可以到注冊(cè)表中驗(yàn)證一下 GUID=270C3ED3-053D-4324-9176-9C3FA2BE58A7 注冊(cè)項(xiàng)以及別名為 FlyCom.Show 的注冊(cè)項(xiàng)。

4. 使用 C++ 調(diào)用

要想 C++ 調(diào)用 C# 寫的 COM 組件,就像 RPC 調(diào)用一樣,直接自動(dòng)生成的代理文件即可,將 FlyCom.tlb 復(fù)制到 根目錄,并且將程序改成 Win32 位,截圖如下:

接下來(lái)就是完整的 C++ 代碼。

#include <Windows.h>#include <string.h>#include <iostream>#import "FlyCom.tlb" named_guids raw_interface_onlyusing namespace std;int main(){	CoInitialize(NULL);	FlyCom::BaseFlyPtr ptr;	ptr.CreateInstance("FlyCom.Show");	wchar_t* c = ptr->Show(L"hello world");	wprintf(L"%s", c);	getchar();}

將程序跑起來(lái)后,真的很完美。

從 C++ 調(diào)用 COM 的流程圖可以很清楚的看到,這是面向接口編程的方式,非常完美。

三:COM 多語(yǔ)言互通原理

1. 架構(gòu)圖

千言萬(wàn)語(yǔ)不及一張圖。

這就是 COM 能夠?qū)崿F(xiàn)多語(yǔ)言互通的規(guī)范,熟悉 C++ 的朋友肯定知道 vtable ,C++ 能夠?qū)崿F(xiàn)多態(tài),全靠這玩意,COM 也是用了 vtable 這套模式,所以諸如 JAVA,C#,VBS 必須在二進(jìn)制層面將代碼組織成上圖這種形式,才能實(shí)現(xiàn) COM 的互通。

所以在 C# 中你看到的 DispId 特性就是為了按照 vtable 方式進(jìn)行組織,對(duì)于 ole32 和 combase 這些 COM 運(yùn)行環(huán)境的基石,我們后續(xù)用 windbg 來(lái)解讀一下,這一篇就先到這里,希望對(duì)你有幫助。

到此這篇關(guān)于 老生常談.NET中的 COM 組件的文章就介紹到這了,更多相關(guān).NET COM 組件內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: ASP.NET
主站蜘蛛池模板: 69久久99精品久久久久婷婷 | 欧美日韩国产精品一区二区 | 午夜免费电影 | 国产三级久久久久 | 日韩城人网站 | 欧洲成人午夜免费大片 | 四虎动漫| 欧美一区二区三区精品免费 | 成人精品一区二区三区 | 日本久久精品一区二区 | 欧美a在线 | 人人鲁人人莫一区二区三区 | 久草免费在线 | www.久久| 在线中文字幕日韩 | 99亚洲视频| 欧美国产综合一区 | 亚洲精品一区久久久久久 | www国产网站 | 国产 在线 | 日韩 | 精品国产乱码一区二区三 | 成人h在线| 成人午夜精品一区二区三区 | 国产艹| 久久亚洲一区二区三区四区 | 在线日韩欧美 | 久久精品国产亚洲一区二区三区 | 91精品入口蜜桃 | 欧洲黄色 级黄色99片 | 国产在线精品一区 | 亚洲国产精品一区 | 国产精品原创巨作av | 欧美激情精品久久久久 | 2020天天操 | 99国产精品| 久久久久亚洲国产 | 99精品欧美一区二区三区 | 欧美激情网 | а天堂中文最新一区二区三区 | av国产精品毛片一区二区小说 | 欧美日韩一区在线 | 国产精品视频一区二区三区四蜜臂 | 超碰最新网址 | 国产精品久久久久久影院8一贰佰 | 国产精品毛片久久久久久久 | 成人不卡| 在线精品亚洲 | 久久精品一二三四 | 自拍偷拍专区 | 国产欧美在线 | 欧美性猛交一区二区三区精品 | 国产在线精品一区 | 少妇精品视频在线观看 | 国产日韩在线视频 | 欧美一级欧美三级在线观看 | 大乳videos巨大吃奶 | 日本一二三区在线 | 久久9国产偷伦 | 亚洲三区在线观看 | 91xxx在线观看 | 亚洲精品一二三 | 国产一区二区影院 | 久久精品亚洲一区二区 | 亚洲午夜性视频 | 涩涩视频在线看 | 国产精品无码永久免费888 | 中文字幕乱码一区二区三区 | 日本黄色激情片 | 一级毛片免费观看 | 欧美视频在线播放 | 国产99在线 | 欧美 | 黄色手机在线观看 | 亚洲国内精品 | 欧美精品亚洲 | 国产精品久久久久国产a级 99精品欧美一区二区三区综合在线 | 四虎成人在线 | 亚洲伊人网站 | 亚洲高清视频在线 | 中文字幕一区二区三区日韩精品 | 亚洲欧美一区二区三区在线 | 一a毛片| 在线观看精品91福利 | 网站一区二区三区 | 亚洲乱码国产乱码精品精98午夜 | 亚洲欧洲成人 | 久久久久国产一级毛片高清版小说 | 国产情侣在线视频 | 伊人影院在线观看 | 日韩婷婷 | 欧美精品tv | 免费一级欧美在线观看视频 | 日韩aaa视频 | 成人亚洲精品久久久久软件 | 美女久久久 | 拍拍无遮挡人做人爱视频免费观看 | 超碰最新在线 | 久久爱综合网 | 亚洲一区二区三区四区在线观看 | 国产不卡视频在线观看 | 一区二区三区免费 | 一级黄色大片在线 | 欧美自拍视频一区 | 高清一区二区三区 | 国产午夜精品久久久久免费视高清 | 一级片福利| 在线成人 | 91精品久久久久 | 日本jizz在线观看 | 精品成人av| 中文字幕在线观看一区二区三区 | 天天摸夜夜摸爽爽狠狠婷婷97 | 黄视频网站免费看 | 久久99精品久久久久久琪琪 | 日韩精品一区二区三区四区 | 欧美一区二区伦理片 | 国产91福利视频 | 欧美亚洲视频在线观看 | 国产www在线| 国产在线区 | 欧美一区在线看 | 91久久久久久久久久久久久 | 国产欧美精品一区二区三区 | 亚洲精品一二三区 | 精品久久久久久国产 | 老司机在线精品视频 | 久久精品久久久 | 国产免费一级特黄录像 | 国产高清视频一区二区 | 日韩精品在线一区 | 久久久精品区 | 特级毛片在线大全免费播放 | 久久国产精品无码网站 | 操操操小说 | 久久亚洲精品国产一区 | 免费观看一级特黄欧美大片 | 国产免费一区二区三区 | 中文字幕日韩在线 | 69久久久 | 婷婷狠狠 | 国产精品国色综合久久 | 一级国产视频 | 最新国产在线 | 日韩激情欧美 | 亚洲国产成人av | 国产电影一区二区在线观看 | 亚洲欧美中文日韩v在线观看 | 国产精品一区二区三区在线免费观看 | 毛片网子| 国产精品一区二区三区在线 | 亚洲激情av | 亚洲成人精品网 | 久久国产婷婷国产香蕉 | 欧美日韩精品一区二区在线播放 | 国产免费看 | 亚洲精品福利 | 欧美成人精品在线视频 | 婷婷欧美| 中文字幕亚洲欧美日韩在线不卡 | 在线播放亚洲 | 韩国精品免费视频 | 日本久久久久久久久 | 国产亚洲欧美在线 | 国产一区二区免费 | 91在线视频免费观看 | 国产精品1页 | 亚洲成人另类 | 日韩视频一区二区三区四区 | 中文字幕1区 | 不卡一区二区三区四区 | 日韩精品一区二区三区在线观看 | 国产一区二区三区在线视频 | 国产精品一区二区视频 | 国产精品成人3p一区二区三区 | 国产91精选 | 黄色毛片视频网站 | 日韩三级电影免费观看 | 欧美日韩国产综合视频 | 亚洲一区二区中文字幕 | 日本不卡免费新一二三区 | 日韩精品99久久久久中文字幕 | 日韩久久午夜一级啪啪 | 国产精品国产a级 | 一区二区不卡视频 | 在线观看毛片视频 | 一区二区三区国产好的精 | 亚洲www啪成人一区二区 | 男人的天堂在线视频 | 久久久久久网址 | 欧美三级电影在线播放 | 精品久久久久久久久久久久久久 | 一级大片av| 黄色国产一级片 | 久久精品欧美 | 国产午夜小视频 | 精品国产乱码一区二区三 | 国产一区二区av在线 | 国产精品一区二区av | 亚洲精品美女视频 | 欧美日韩不卡合集视频 | 爽死777影院 | k8久久久一区二区三区 | 国产一区二区三区在线视频 | 久久精品色欧美aⅴ一区二区 | 国产精品国色综合久久 | 蜜桃视频一区 | 51ⅴ精品国产91久久久久久 | 欧美成人一区二区三区片免费 | 亚洲视频一区在线 | 午夜国产一级片 | 欧美日韩一区二区在线播放 | 国产精品视频不卡 | 日韩国产一区二区三区 | 国产99久久久精品视频 | 午夜视频福利在线观看 | 密室大逃脱第六季大神版在线观看 | 欧美成年黄网站色视频 | 91亚洲国产成人久久精品网站 | 中字幕视频在线永久在线观看免费 | 性欧美大战久久久久久久免费观看 | 99视频在线免费观看 | 在线不卡一区 | 国产91免费在线 | 91午夜精品一区二区三区 | 久久久久久亚洲 | 亚洲国产精久久久久久久 | 亚洲国产1区 | 一区二区三区免费在线观看 | 99久久婷婷 | 在线99热| 日韩欧美专区 | 一色桃子av一区二区免费 | 欧美一级高清在线 | 久久一级 | 天堂成人国产精品一区 | 成人免费在线观看视频 | 欧美国产精品一区二区三区 | 北条麻妃一区二区在线 | 欧美精品一 | 99精品欧美一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 亚洲欧洲一区二区 | 高清国产午夜精品久久久久久 | 日本久久99 | 成人h动漫精品一区二区器材 | 日韩视频在线观看一区二区 | 天天爱天天草 | 精品一区二区三区免费视频 | 国产羞羞视频在线观看 | 国产成人黄色 | 欧美日韩激情 | 青青伊人久久 | 黄色网页大全 | 日韩午夜激情视频 | av在线一区二区 | 日韩高清成人 | 91精品国产综合久久久亚洲 | 久久二 | 欧美日韩一区二区电影 | 亚洲成人中文字幕 | 国产成人在线一区二区 | 一区二区三区四区免费观看 | 欧美日韩在线精品 | 亚州精品天堂中文字幕 | 草草影院ccyycom | 久久成人精品一区二区三区 | 精品久久久久一区二区三区 | 欧美成人精品一区二区三区 | 日韩中出| 黄色免费在线观看网址 | 无码国模国产在线观看 | 成人不卡视频 | 99免费观看 | 手机在线不卡av | 日韩欧美国产精品综合嫩v 久久久久久国产精品高清 国产目拍亚洲精品99久久精品 | 一级片免费在线视频 | 色网在线 | 成人一区二区在线观看 | 成人黄色一级片 | 伊人网亚洲 | 国产精品久久久久婷婷二区次 | 亚洲欧美一区二区三区在线 | 日本精品一区二区三区在线观看视频 | 日韩精品视频三区 | 欧美∨a | 免费看一区二区三区 | 一级欧美一级日韩 | 亚洲国产1区 | 免费成人高清在线视频 | 精品国产乱码一区二区三区a | 国产欧美日韩一区二区三区 | 国产福利在线播放 | 成人免费视频网 | 国产精品亚洲精品日韩已方 | 成年人性视频 | 久久精品亚洲 | 久久精选视频 | 日韩一区精品视频 | 久久精品亚洲欧美日韩精品中文字幕 | 中文字幕亚洲精品 | 成人免费看片 | 国产v日产∨综合v精品视频 | 精品国产一区二区三区成人影院 | 国产高清在线a视频大全 | 在线观看成人国产 | 久久se精品一区精品二区 | 91国产精品 | 久久综合一区二区三区 | 免费亚洲婷婷 | 亚洲高清视频一区二区三区 | 国产又粗又长又硬又猛电影 | 日韩在线免费视频 | 成人国产精品一级毛片视频 | 在线中文字幕av | 久久小视频 | 亚洲精品免费观看 | 国产综合精品一区二区三区 | 亚洲综合在 | 日韩欧美中文字幕在线视频 | 精品99在线 | 亚洲 中文 欧美 日韩 在线观看 | 国产一区二区精品在线观看 | 午夜999| 精品久久网 | 国产综合视频 | 久久99精品国产.久久久久 | 国产福利片在线观看 | 成人精品一区二区三区中文字幕 | 日本不卡免费新一二三区 | 中文字幕日韩欧美一区二区三区 | 一区在线免费观看 | a级在线观看 | 午夜视频一区二区 | 在线成人av | 日本久久精品电影 | 国产亚洲一区二区三区在线观看 | 一区二区亚洲 | 日韩精品免费在线视频 | 成人免费视频视频在线观看 免费 | 国产午夜精品一区二区三区 | xxxx欧美| 日韩不卡在线 | 欧美一二区 | 日日干夜夜骑 | 日韩久久精品 | 在线日韩视频 | 久久久久亚洲精品 | 亚洲成成品网站 | 狠久久 | 免费观看一级特黄欧美大片 | 精品一区二区三区四区五区 | 一级一级毛片 | 亚洲精品成人在线 | 成人av免费看 | 国产视频一区二区三区四区 | 亚洲www永久成人夜色 | 精品成人免费一区二区在线播放 | 日韩精品一区二区三区在线观看 | 韩国精品 | 精品影院| 午夜激情av | 超碰人人99 | 五月激情综合婷婷 | 亚洲成人久久久 | 亚洲一区二区三区高清 | 欧美一区久久 | 欧美女优在线视频 | 日日夜夜免费精品视频 | 日韩精品一区二区三区在线播放 | 亚洲www永久成人夜色 | 日韩福利在线观看 | 天天干天天操天天干 | 国产精品久久久999 成人亚洲视频 | 欧美日韩中文国产一区发布 | 91久色| www.99日本精品片com | 国产精品亚洲第一区在线暖暖韩国 | 一区二区不卡视频 | а√天堂资源中文最新版地址 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品日韩欧美一区二区 | 亚洲午夜在线 | 国产一区二区三区免费在线 | 亚洲欧美日韩系列 | 欧美极品在线 | 秋霞av电影| 欧美a视频 | 欧美精品一区二区三区视频 | www.色在线 | 国产精品视频 | 日日久 | 亚洲一区二区三区福利 | 在线成人免费视频 | 国产视频精品视频 | 一级免费在线视频 | 精品久久久久香蕉网 | 欧美一区二区三区在线观看 | 欧美激情欧美激情在线五月 | 天堂一区二区三区 | 国产精品久久久久久久久久久久冷 | 亚洲美女在线视频 | 欧美精品第十页 | 国产黄色av| 中文在线观看www | 亚洲一区二区在线免费观看 | 福利一区二区 | 69久久99精品久久久久婷婷 | 国产艳妇av视国产精选av一区 | 精品国产乱码久久久久久1区2区 | 日本一区二区精品 | 欧美综合在线观看 | 一区二区免费看 | 日韩素人一区二区三区 | 亚洲人黄色片 | 精品国产黄a∨片高清在线 日韩一区二 | 国产午夜久久 | 欧美黄色一区 | 日韩免费高清视频 | 一区二区三区在线播放 | 中文字幕视频在线免费 | 成人免费在线网址 | 国产日韩视频在线观看 | 老师的朋友2 | 精品国产乱码久久久久久久 | 成人一区二区在线 | 国产精品久久久久久久久久10秀 | 日韩免费区 | 欧美精品导航 | 99视频只有精品 | 不卡一区| 精品不卡 | 亚洲欧美国产毛片在线 | 成人精品一区二区 | 日本一区二区三区四区不卡视频 | 嫩草影院在线观看91麻豆 | 日韩视频中文 | 视频久久精品 | 色欧美片视频在线观看 | 欧美日韩精品一区二区三区四区 | 亚洲高清在线观看 | 亚洲一区在线日韩在线深爱 | 国产二区三区 | 国产福利在线免费 | 99在线免费视频 | 亚洲自拍一区在线 | 在线无码 | 91亚洲高清| 中文字幕亚洲欧美精品一区四区 | 91精品啪aⅴ在线观看国产 | 99国产精品久久久久久久 | 日本一区二区三区四区不卡视频 | 亚洲男人av | 啪啪网免费 | 欧美1区 | 三区在线观看 | 亚洲人成人一区二区在线观看 | 国产精品成人在线视频 | 综合久久综合 | 三级黄色在线视频 | 日日摸天天爽天天爽视频 | 激情综合久久 | 香蕉av777xxx色综合一区 | 四虎成人在线视频 | 中文字幕亚洲一区 | 国产日韩欧美综合 | 久久精品久久综合 | www.日韩 | 天天操天天插 | 国产亚洲精品美女久久久久久久久久 | 亚洲欧美第一页 | 午夜激情在线播放 | 大香一网 | 国产精品网站在线观看 | 久久久久久久成人 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人国产精品免费观看 | 日本在线不卡视频 | 一级片在线观看 | 九九热精品视频 | 精品日韩欧美一区二区三区 | 色综合二区 | 精品久久久免费视频 | 日韩精品免费 | 国产一区二区三区久久 | 精品亚洲成a人在线观看 | 欧美高清视频一区二区三区 | 日韩精品一区二区三区在线 | 欧美一区二区日韩 | www.com国产精品 | 无码日韩精品一区二区免费 | 成人欧美一区二区三区在线观看 | 毛片在线免费 | 91中文在线观看 | 蜜桃官网 | 欧美中文日韩 | 日韩精品一区二区三区在线观看 | 一级日韩电影 | 国产视频久久久久久久 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲一区在线日韩在线深爱 | 久久午夜电影院 | 国产精品99久久久久久动医院 | 日本天天操| 亚洲一区在线日韩在线深爱 | 在线观看国产 | 男人视频网站 | 亚洲欧美一区二区在线观看 | 91伊人| 精品日韩一区二区三区 | 久久精品一区二区三区四区毛片 | 国产成人av一区二区三区 | 亚洲免费视频一区二区 | 色婷婷亚洲一区二区三区 | 激情五月综合 | 亚洲精品在线视频 | 91精品久久久久久久91蜜桃 | 欧美激情亚洲 | 日本久久久一区二区三区 | www精品| 精品婷婷| 日日爱视频| 一区二区三区四区精品 | 久草免费在线视频 | 亚洲免费不卡视频 | av看片网| 91久久国产综合久久91精品网站 | 羞羞视频在线免费观看 | 国产一级毛片国语一级 | 国产在线中文字幕 | av资源中文在线天堂 | 成人高清视频在线观看 | 欧美在线影院 | 亚洲一区二区久久 | 国产精品久久免费观看spa | 激情久久av一区av二区av三区 | 91精品国产乱码久久久久久 | 久久精品色欧美aⅴ一区二区 | a一级毛片 | 91视频免费在线看 | 久久精品无码一区二区日韩av | 精国产品一区二区三区四季综 | 日韩免费电影 | 日韩免费高清视频 | 成人在线免费电影 | 天天人人精品 | 黄色精品 | 日韩一区二区影视 | 国产在线观看一区二区三区 | 99久久99久久精品国产片果冻 | 亚洲精品久久久久久久久久久久久 | 日韩av在线免费 | 国产精品视频区 | 色在线看| 国产精品欧美一区二区三区 | 久久ri资源网 | 一区二区视频 | 三区在线观看 | 九九精品视频在线观看 | 亚洲国产精品第一区二区 | 日韩国产二区 | 国产一级视频 | 日本一区视频在线观看 | 国产成人精品高清久久 | 色综合天天天天做夜夜夜夜做 | 99看片 | 亚洲久视频 | 在线免费av观看 | 嫩草研究院在线观看入口 | 欧美精品一区二区三区在线 | 成人网久久 | 国产精品美女www爽爽爽软件 | 一级黄色录像免费观看 | 蜜臀视频在线观看 | 国产精品污www在线观看 | 99视频在线看 | 免费在线一区二区三区 | ririsao久久精品一区 | 久久国产欧美日韩精品 | 欧美精品一级 | 亚洲天堂成人在线 | 在线观看免费黄色 | 欧美国产综合 | 欧美日韩一区二区三 | 久久四色| 五月婷婷激情 | 欧美精品第一页 | 91一区二区三区 | 国产精品无码久久久久 | 欧美一级一区 | 亚洲视频在线一区 | 国产精品国产成人国产三级 | 五月婷婷婷婷 | 久久久久久91香蕉国产 | 福利视频一区 | 日韩毛片| 国产视频一区二区 | 伊人久久综合 | 黄a免费看 | 久久另类| 黄a在线| 国产性色av | 岛国精品 | 澳门久久| 亚洲高清一区二区三区 | 国产精品一区二区不卡 | 在线精品国产 | 中文字幕国产在线视频 | 亚洲国产精品久久久久久久 | 精品亚洲成a人片在线观看 国产高清在线 | 999这里只有是极品 免费的一级黄色片 | 国产免费av在线 | 美女久久久 | 日本黄网站在线观看 | 欧美99| 国产操片 | 成人免费视频视频 |