《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > Windows NT 4.0下設備驅動程序的開發與應用

Windows NT 4.0下設備驅動程序的開發與應用

2009-06-02
作者:湯冬誼 于恒春

  摘 要: 介紹了Windows NT4.0內核模式設備驅動程序開發中的一般性過程。通過提供一個最小化驅動程序的核心代碼,解釋各組成部分的結構功能和使用方法。在實踐中,結合自身的開發需要,可編寫出具有實用價值的驅動程序。
  關鍵詞: Win32子系統 設備驅動 系統注冊表 I/O請求包

?

  Windows NT 以其安全、穩定及界面友好等特性逐漸成為工業控制領域的前臺操作系統。面對工業控制中大量采用的串/并行通信及總線控制等技術,要求用戶不斷開發出滿足自身需要的硬件設備,同時又要求用戶應用程序與這些硬件設備進行通信,發送控制命令,讀取狀態信息等等。Windows NT出于安全性、穩定性等考慮,不允許用戶應用程序對物理硬件進行直接訪問,這就需要使用設備驅動程序跨越操作系統邊界對物理硬件進行操作,并向上提供客戶應用程序控制接口以供調用。
1 分層結構與設備驅動程序
  Windows NT分層結構(如圖1所示)包括運行于用戶模式及內核模式的各種部件,設備驅動程序在圖1的左下角,處于內核模式下I/O管理器之中。


2 驅動程序工作方式
  內核模式驅動程序與應用程序之間的最大差別之一是驅動程序的控制結構。內核模式驅動程序沒有main或WinMain,而是由I/O管理器根據需要調用一個驅動程序例程
  · 驅動程序被裝入時;
  · 驅動程序被卸出或系統關閉時;
  · 用戶程序發出I/O系統服務調用時;
  · 共享硬件資源對驅動程序可用時;
  · 設備操作過程中的任何時候。
3 初始化過程
3.1 系統注冊表中有關設備驅動程序的項目是系統

  加載設備驅動程序的入口點
  系統注冊表中用于系統加載設備驅動程序的項目如下:
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName]
  ″Type″ = dword:00000001
  ″Start″ = dword:00000002
  ″Group″ = ″Extended Base″
  ″ErrorControl″ = dword:00000001
  其中Start含義如下:
  SERVICE_BOOT_START (0×0) 操作系統裝入時
  SERVICE_SYSTEM_START (0×01) 操作系統初始化時
  SERVICE_AUTO_START (0×02) 服務控制管理器啟動時
  SERVICE_DEMAND_START (0×03) 服務控制管理器手工啟動
  SERVICE_DISABLED (0×04) 不啟動
  Type含義如下:
  SERVICE_KERNEL_DRIVER (0×1)
  SERVICE_FILE_SYSTEM_DRIVER (0×2)
  SERVICE_ADAPTER (0×4)
  系統注冊表中用于設備驅動程序加載后讀取的項目如下:
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\Parameters]
  ″Parameter1″ = dword:00000001
  ″Parameter2″ = dword:00000004
3.2 加載驅動程序的裝入例程
  I/O管理器調用驅動程序的DriverEntry例程,執行初始化。該例程完成:
  · 初始化其它例程的入口;
  · 創建命名設備對象;
  · 讀取系統注冊表中相關項目并聲明必要的資源;
  · 設置內核驅動程序名與Win32子系統名的聯接;
  · 創建或初始化任意驅動程序使用的對象、類型和資源;
  · 返回狀態值。
  I/O管理器建立與設備關聯的Driver對象,并將其傳遞給DriverEntry例程。實際上Driver對象基本上是一個目錄,含有指向各個驅動程序服務例程函數的指針,其結構如表1所示。


  I/O管理器能夠找到DriverEntry例程,是因為它有一個公認的名字,而其他的例程則通過下列兩種方法查找:
  ·在Driver對象中有明確槽的函數,如DirverObject->DriverUnload;
  ·在Driver對象的MajorFunction數組中——Driver對象的MajorFunction支持兩種類型的功能代碼。一種為標準的功能代碼,如IRP_MJ_CREATE。另一種是用戶自定義的功能代碼,如IRP_MJ_DEVICE_CONTROL。
  所有驅動程序必須支持IRP_MJ_CREATE功能代碼,這是因為Win32子系統下的用戶程序調用CreateFile函數創建設備時,產生該功能代碼。如果不處理這個功能代碼,Win32程序就不能得到設備句柄。
  用戶自定義的功能代碼IRP_MJ_DEVICE_CONTROL只有在用戶模式下的客戶程序執行自定義的功能時可用。
  NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
  {
  //聲明設備對象
  PDEVICE_OBJECT DeviceObject;
  //生成函數接口指針
  DriverObject->MajorFunction[IRP_MJ_CREATE]=XxSelfDispatch;
  DriverObject->MajorFunction[IRP_MJ_CLOSE]=XxSelfDispatch;
  DriverObject->MajorFunction[IRP_MJ_READ]=XxReadDispatch;
  DriverObject->MajorFunction[IRP_MJ_WRITE]=XxWriteDispatch;
  DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=XxSelfDispatch;
  DriverObject->DriverUnload=XxUnload;
  //生成Windows NT Executive知道的設備名
  RtlInitUnicodeString(&NtDeviceName, SelfDeviceName);
  //生成自己的設備
  Status=IoCreateDevice(
  DriverObject, // Driver對象
    sizeof(SELF_DEVICE_INFO), // Device對象
    Extension結構大小
    &NtDeviceName,
    DeviceType,
    0,
    FALSE, // 不執行
    &DeviceObject //Device對象指針
  );
  //生成Win32子系統下的用戶程序可識別的設備名
  RtlInitUnicodeString(&Win32DeviceName, SelfWin32Name);
  //聯接內部設備名與Win32子系統下的設備名
  Status = IoCreateSymbolicLink( &Win32DeviceName, &NtDeviceName );
  //利用RtlQueryRegistryValues函數讀出注冊表中Parameters下的參數值,初始化自己的硬件
  ...
  }
4 驅動程序服務例程
  驅動程序初始化之后,始終等待發自用戶的命令或由其它事件源引起的事件。一旦命令或事件發生,I/O管理器就調用相應的服務例程提供服務。而幾乎所有的I/O都是通過I/O請求包(IRP)驅動的。所謂IRP驅動,就是I/O管理器負責在非分頁的系統內存中分配一定空間,當接受用戶發出的命令或由事件引發后,將工作指令按一定的數據結構置于其中,傳遞到驅動程序服務例程。換言之,IRP包含了驅動程序服務例程所需要的信息指令。表2、表3為IRP的一些數據結構。

?


  同時,I/O管理器和驅動程序都需要在所有時候知道一個I/O設備所進行的情況。系統提供Device對象以滿足此要求。該對象在DriverEntry例程中生成設備時由系統創建后,分配給驅動程序,并在整個驅動程序生存期內有效。當I/O管理器調用驅動程序服務例程時,傳遞該對象。表4為Device對象的外部可見域。


  其中,DeviceExtension域是一個重要的數據結構。它是由I/O管理器創建并自動掛接到Device對象的非分頁池,是保存驅動程序任意全局變量的最好辦法。因為DeviceExtension是驅動程序特定的,要自定義它的數據結構。
  下面是一個驅動程序服務例程利用Device對象和IRP的片段:
  NTSTATUS XxSelfDispatch(IN PDEVICE_OBJECT pDO, IN PIRP pIrp);
  {
  PLOCAL_DEVICE_INFO pLDI;
  PIO_STACK_LOCATION pIrpStack;
  PULONG pIOBuffer;//得到全局信息
  pLDI = (PSELF_DEVICE_INFO)pDO->DeviceExtension;
  pIrpStack = IoGetCurrentIrpStackLocation(pIrp);
  //得到由用戶應用程序發來的用戶數據,并在需要時,將結果通過此變量返回給用戶
  pIOBuffer=(PULONG)pIrp->AssociatedIrp.System Buffer;
  // 由IRP攜帶的信息決定驅動程序的執行
  switch (pIrpStack->MajorFunction)
  {
    case IRP_MJ_CREATE:
    case IRP_MJ_CLOSE:
    Status = STATUS_SUCCESS;
    break;
    case IRP_MJ_DEVICE_CONTROL:
    //由Parameters進一步解釋控制代碼含義
  switch (pIrpStack->Parameters.DeviceIoControl.IoControlCode)
  {
  case IOCTL_Function1:  //執行功能代碼
  Field1 = pLDI->SelfField1;
  ...
  break;
  case IOCTL_Function2:  //執行功能代碼
  ...
  break;
  }
  break;
  }
  // 返回I/O操作的狀態
  pIrp->IoStatus.Status = Status;
  IoCompleteRequest(pIrp, IO_NO_INCREMENT );
  return Status;
  }
5 驅動程序終止例程
  Unload例程負責取消由DriverEntry例程所做的任何事情,包括解除屬于該驅動程序的任何硬件資源的分配,以及刪除屬于驅動程序的任何內核對象。通常這僅在系統關閉時需要。
  VOID XxUnload(PDRIVER_OBJECT DriverObject)
  {
  PLOCAL_DEVICE_INFO pLDI;
  UNICODE_STRING Win32DeviceName;
  // 得到全局數據,根據全局數據進行清理工作
  pLDI=(PLOCAL_DEVICE_INFO)DriverObject->Device
  Object->DeviceExtension;
  if (pLDI->Field2 == TRUE)
  {
    ...
  }
  // 刪除分配的設備名及設備
  RtlInitUnicodeString(&Win32DeviceName, SelfWin32Name);
  IoDeleteSymbolicLink(&Win32DeviceName);
  IoDeleteDevice(pLDI->DeviceObject);
  }
6 用戶層應用程序與驅動程序間的接口
  驅動程序完成后,將在系統重新引導時裝入并初始化(由DriverEntry例程完成)。此時,驅動程序處于可用狀態,等待用戶層應用程序使用。用戶層應用程序可以:
  ·打開該設備文件(由IRP_MJ_CREATE功能代碼完成)
  ·讀出數據(由IRP_MJ_READ功能代碼完成)
  ·寫入數據(由IRP_MJ_WRITE功能代碼完成)
  ·執行用戶自定義的功能代碼(由IRP_MJ_DEVICE_CONTROL功能代碼完成)
  ·關閉該設備文件(由IRP_MJ_CLOSE功能代碼完成)
  以下是部分實現代碼:
  void main()
  {
  HANDLE hndFile; // 由CreateFile得到
  union {
    ULONG LongData;
    USHORT ShortData;
    UCHAR CharData;
    } DataBuffer; //從設備驅動程序中得到的數據
    LONG IoctlCode; //功能代碼
        ULONG DataLength;
        LONG Parameter1;
        //調用IRP中的IRP _MJ_CREATE功能
        hndFile = CreateFile(
        ″\\\\.\\SelfWin32Name″, // 打開設備文件″SelfWin32Name″
        GENERIC_READ | GENERIC_WRITE,
        FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        0,
        NULL
        );
        if (hndFile == INVALID_HANDLE_VALUE)
        {
        printf(″Unable to open the device.\n″);
        exit(1);
        }
        IoctlCode = IOCTL_Function1; //自定義功能代碼
        Parameter1 = 1;
        DataLength = sizeof(DataBuffer.CharData);
        IoctlResult = DeviceIoControl(
        hndFile, //設備文件句柄
        IoctlCode,//功能代碼,對應IRP中的Parameter.
        //DeviceIoControl.IoControlCode域&Parameter1,//傳遞到驅動程序的參數緩沖區,對應
        //IRP中的AssociatedIrp.SystemBuffer
        sizeof(Parameter1), //參數緩沖區長度
        &DataBuffer, //從驅動程序傳出的數據緩沖區
        DataLength, //緩沖區長度
        &ReturnedLength, //返回的實際緩沖區長度
        NULL //等待,直到操作完成
    );
    if (!CloseHandle(hndFile)) //關閉設備
    {
    printf(″Failed to close device.\n″);
   }
  }
  以上介紹了Windows NT4.0設備驅動程序開發中的一般性過程。用戶可利用NT SDK 及DDK開發工具包,并根據自身需要,對以上核心代碼進行擴充完成所需任務。
參考文獻
1 Art Baker. Windows NT設備驅動程序設計指南.
2 Microsoft. Windows NT DDK聯機手冊.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 色诱久久久久综合网ywww | 欧美成人另类 | 国产精品免费一区二区三区四区 | 日日狠狠久久偷偷四色综合免费 | 欧美巨乳在线观看 | 国产日本一区二区三区 | 国产zzjjzzjj视频全免费 | 午夜视频在线观看一区 | 成人本色视频在线观看 | 国产精品中文字幕av | 农场巨污高h文 | 日本人做受免费视频 | 亚洲精品久久国产高清 | 国产三级香港三韩国三级 | 成人伊人 | 美女破处视频 | 色综合久久久久久 | 91免费国产| 狠狠色综合网 | 国产精品偷伦视频免费还看的 | 在线观看人成视频免费 | 用力使劲高潮了888av | 国产精品久久久久久久久久软件 | 日本大乳奶做爰洗澡三级 | 久久久久久久美女 | 国产乱国产乱老熟300部视频 | 久久久久人妻精品区一 | 久久久www成人免费毛片 | 日韩欧美在线观看一区 | 日本无码欧美一区精品久久 | 一级片视频播放 | 四虎影视在线永久免费观看 | 国产欧美wwwxj在线观看 | 四虎av永久在线精品免费观看 | 中文字幕亚洲欧美日韩2019 | 99精品久久| 教师夫妇交换刺激做爰小说 | 久久er热在这里只有精品66 | 天堂无乱码| 国产99视频在线观看 | 精品无码国产自产拍在线观看 | 粉嫩av一区二区老牛影视 | 国产视频福利 | 激情成人综合网 | 蜜桃精品在线 | 中文字母av | 久久国产激情视频 | 日韩精品视频观看 | 99精品国产在热久久 | 泽村玲子在线中文字幕 | 日韩国产欧美一区二区三区 | 96精品高清视频在线观看软件 | 精精国产xxxx视频在线观看 | 黄色片地址 | 欧美亚洲视频 | 国产精品高跟丝袜一区 | 啪啪小视频网站 | 欧美国产在线观看 | yy8090理论片在线大全中文 | 泰国性xxxx极品高清hd | 久久精品视频2 | 50一60岁老妇女毛片 | 草草影院国产 | 日韩爽爽视频 | 欧美精品乱码99久久蜜桃 | 中文字幕一区二区三区精彩视频 | 久久性色欲av免费精品观看 | 人人玩人人弄人人曰 | 丰满多毛的大隂户视频 | 成人性做爰av片免费看 | 亚洲精品久久久久玩吗 | 对白刺激国语子与伦 | 色女人综合 | 丝袜人妻一区二区三区网站 | 久久久久九九九九 | 国产美女免费 | 成人免费影片在线观看 | 91超碰在| 911爱豆传媒国产 | а√在线中文网新版地址在线 | 久久久久久免费视频 | 欧美视频二区欧美影视 | 亚洲高清无吗 | 日韩日韩日韩日韩日韩 | 在线看亚洲十八禁网站 | 国产综合久久 | 国产日韩欧美91 | 国产精品久久久久久 | 久久视频这里有久久精品视频11 | 四虎影视久久久免费观看 | 日日摸夜夜添夜夜添一区二区 | 国产精品久久久国产盗摄 | 色婷婷av一区二区 | 久久久久国产精品人妻 | 亚洲香蕉久久 | 十八18禁国产精品www | 亚洲99影视一区二区三区 | 日韩精品一区二区三区三炮视频 | 欧美日韩另类一区二区 | 麻豆国产精品777777在线 | 伊人首页 | 午夜嘿嘿嘿影院 | 黄瓜视频在线观看污 | 国产sm网站 | 在线看亚洲 | 亚洲偷自拍另类图片二区 | 亚洲视频一 | 国产三级做爰在线播放 | 亚洲精品视频二区 | 啪免费 | 九九热在线视频观看这里只有精品 | 日韩免费观看完整 | 色又黄又爽18禁免费视频 | 国产疯狂性受xxxxx喷水 | 黄色一级视频在线观看 | 亚州av网站 | 日本另类αv欧美另类aⅴ | 中文字幕日韩三级 | 午夜涩涩| 把jiji进美女的屁屁里视频 | 久久久男女 | 小猪佩奇第七季中文免费版 | 亚洲欧美自拍另类 | 天天干天天搞天天射 | 久久免费看少妇a高潮一片黄特 | 精品国产乱码久久久久软件 | 麻花豆传媒mv在线观看网站 | 中文字幕在线观看日本 | 国产又白又嫩又爽又黄 | 影音先锋男人av橹橹色 | 日本大学生三级三少妇 | 久久午夜免费视频 | 国产成人精品日本亚洲专区 | 亚洲色丰满少妇高潮18p | 国产精品一区二区欧美 | 中文字幕亚洲情99在线 | 国产视频高清 | 一区二区三区在线免费 | 麻豆精品一区综合av在线 | 丁香六月久久 | 色狠狠av一区二区三区 | 成人入口 | 国产精品美女乱子伦高 | 日韩丰满少妇无吗视频激情内射 | 日日鲁夜夜视频热线播放 | 国产欧美综合一区二区三区 | 黑人与饥渴少妇在线 | 亚洲七七久久桃花影院 | 伊人青青 | 成人精品一区二区三区电影 | 5d肉蒲团之性战奶水 | 精品www| 高清国产一区 | 欧美中文字幕无线码视频 | 亚洲精品午夜视频 | 久久综合五月 | 日本a免费 | 亚洲精品乱码久久久久久不卡 | 日韩人妻不卡一区二区三区 | 亚洲欧美日韩精品色xxx | 2019nv天堂香蕉在线观看 | 久久久精品中文字幕麻豆发布 | 欧美35页视频在线观看 | 欧美一区二区三区四区五区六区 | 国产久色在线拍揄自揄拍 | 国产无遮挡又黄又爽在线视频 | 久久亚洲国产成人精品无码区 | 国产亚洲欧美精品久久久www | 天堂av网手机版 | 关之琳三级全黄做爰在线观看 | 毛茸茸亚洲孕妇孕交片 | 亚洲国产aⅴ成人精品无吗 欧洲熟妇色xxxx欧美老妇多毛网站 | 黄色理论视频 | 黄色a级大片 | 国产页 | 夜夜爽夜夜叫夜夜高潮漏水 | 无码精品人妻一区二区三区免费看 | 寡妇av| 激情网五月天 | 国产深夜福利在线 | 天干天干天啪啪夜爽爽av小说 | 亚洲一区二区三区写真 | 在线毛片基地 | 久操视频在线播放 | 久久伊人久久 | 美女无遮挡免费网站 | 女人与牲口性恔配视频免费 | 毛片网站入口 | 免费观看视频一区二区 | 我和房东少妇激情 | 一区二区三区欧美精品 | 国产精品成人一区二区三区视频 | 粗大的内捧猛烈进出小视频 | 一级在线看 | 黄色国产精品视频 | 日韩经典在线 | 亚洲品牌自拍一品区9 | 俄罗斯毛片 | 四虎精品永久在线 | 国产性生活毛片 | 国产精品社区 | 少妇黄色一级片 | 久久人人爽人人爽爽久久 | 加勒比一区二区三区 | 99热这里只有精品免费播放 | 青青在线视频 | 欧美乱论 | 澳门黄色一级片 | 亚洲国产精品自产在线播放 | 日韩欧美四区 | 国产精品污www一区二区三区 | 男人的天堂视频网站 | 久久久久夜夜夜精品国产 | 超碰97人人人人人蜜桃 | 免费a大片| 99精品乱码国产在线观看 | 人人爽日日躁夜夜躁尤物 | 久久久久久久久久久中文字幕 | 亚洲精品不卡 | 国产成人在线综合 | 久久视频一区二区 | 国产无遮挡又黄又爽在线观看 | 亚洲成av人片天堂网老年人 | 一级二级毛片 | 人妻熟妇乱又伦精品视频 | 日本www色视频 | 亚洲一区二区不卡视频 | 波多野结衣一区二区三区中文字幕 | 亚州性无码不卡免费视频 | 五十路熟女丰满大屁股 | 日本不卡高字幕在线2019 | 日韩av中字| av无码国产精品色午夜 | 亚洲va中文字幕无码久久 | 国产精品制服诱惑 | 国产成人精品在线观看 | 国产精品99久久免费 | 国产高潮国产高潮久久久91 | 欧美三级视频在线观看 | 佐佐木明希av在线 | 国产日韩欧美成人 | 爽好多水快深点欧美视频 | 狠狠色综合久久婷婷色天使 | 色偷偷噜噜噜亚洲男人 | 久久人人澡 | 亚洲精品成a人ⅴ香蕉片 | 美脚の诱脚舐め脚责91 | 一级高清毛片 | jzz国产| 按摩房激情hd欧美 | 午夜精品久久久久久久2023 | 成年人在线免费看 | 国产丰满老熟妇乱xxx1区 | 黄色av免费网址 | 7777av| 国产目拍亚洲精品99久久精品 | 国产日韩欧美视频 | 一色桃子656中文字幕 | 国产清纯白嫩初黑人高生在线观看 | 日本在线观看中文字幕 | 欧美日韩午夜群交多人轮换 | wwwyoujizzcom在线| www.日本免费| 久久www免费人成精品 | 色久在线| 男人天堂网站 | 日产精品一区二区 | 日本特黄特色a大片免费高清观看视频 | 久久99影视 | 国产乱人伦精品免费 | 日本牲交大片免费观看 | 国产精品久久久久久爽爽爽 | 97人洗澡人人澡人人爽人人模 | 高h1v1翁妇肉乱怀孕 | 超碰91人人| 尹人成人 | 在线天堂在线 | 麻豆传媒一区二区 | 亚洲精品热 | 国内极品少妇1000激情啪啪千 | 依依成人综合 | 国产精品欧美一区二区三区不卡 | 人妻中文字幕在线网站 | 国产又黄又猛又粗 | 九九99精品视频 | 一级猛片免费看 | 天天综合网7799精品视频 | 麻豆av免费在线观看 | 天干夜天干天天天爽视频 | 国产精品女主播一区二区三区 | 国产女人18毛片水真多18 | 精品一区二区三区无码视频 | 青青伊人精品 | 国产精品情侣 | 欧美草b| 国产乱淫av蜜臂片免费 | 40一50一60老女人毛片 | 国产精品毛片va一区二区三区 | 亚洲人成影院在线无码按摩店 | 偷窥目拍性综合图区 | 日韩av无码国产精品 | 欧美图片在线观看 | 麻豆国产丝袜白领秘书在线观看 | 精品无码黑人又粗又大又长 | 亚洲欧洲av在线 | 深夜免费在线视频 | 婷婷亚洲天堂 | 成年性羞羞视频免费观看无限 | 少妇把腿扒开让我爽爽视频 | 亚洲精品国产乱码在线看蜜月 | 精品国产91亚洲一区二区三区www | 韩日一区二区三区 | 999久久久无码国产精品 | 最近中文字幕免费mv在线 | 在线亚洲人成电影网站色www | 欧美成人久久久免费播放 | 国产日产精品久久快鸭的功能介绍 | 毛片大全在线播放 | 欧美骚视频| 俺来俺也去www色在线观看 | 黑人精品一区二区三区 | 一级特黄少妇高清毛片 | 国产真实乱对白精彩 | 亚洲午夜伦理 | 成人免费毛片网站 | 国产免费av一区二区三区 | 久久在线| 国产影音先锋 | 精品二区在线观看 | 在线人人车操人人看视频 | 日日噜噜噜噜人人爽日本精品 | 曰批全过程免费视频在线观看无码 | av丝袜在线观看 | 51国产偷自视频区视频 | 无遮挡aaaaa大片免费看 | 欧美日韩在线看 | 国产草草影院ccyycom | 亚洲国产精品自产在线播放 | 久久国产剧情 | 色哟哟网站在线观看 | 久久国产欧美日韩精品 | 亚洲视频在线观看免费的欧美视频 | 亚洲熟女www一区二区三区 | 青草视频在线播放 | 青春草网站 | 国产精品无码制服丝袜 | 女女综合网 | 日本理论片免费观看在线视频 | 极品成人| 神马久久久久久 | 欧美亚洲天堂网 | 337p日本大胆噜噜噜鲁 | 91综合中文字幕乱偷在线 | 欧美人与禽2o2o性论交 | 国产情侣av在线 | 午夜精品射精入后重之免费观看 | 黄色大片a级 | 成 人 黄 色 片 在线播放 | 免费看国产曰批40分钟 | 日本三级免费看 | 成人免费毛片网 | 一本久久a久久精品vr综合 | 国产精品9999 | av香港经典三级级 在线 | 91九色丨porny丨丝袜 | 国产免国产免费 | 在线观看国产黄 | 国产放荡对白视频一区二区 | 成人黄色激情网 | 最新亚洲人成无码网www电影 | 国产91在线 | 亚洲 | 少妇又色又紧又爽又高潮 | 盗摄中年夫妇啪啪免费观看 | 999一区二区三区 | 我撕开了少妇的蕾丝内裤视频 | 欧美国产精品一区 | 四虎久久久久 | 日日橹狠狠爱欧美二区免费视频 | 精品久久久一二三区播放播放播放视频 | 欧美成人免费高清视频 | 一本大道综合伊人精品热热 | 久草福利免费 | 日韩精品一区二区三区中文字幕 | 成人在线网| 国产精品毛片一区 | 香蕉午夜福利院 | 一本色道久久综合狠狠躁的推荐 | 亚洲精品一区 | 欧美日韩在线视频免费观看 | 欧美性大战久久久久久久 | 亚洲乱码伦av | 美女国产毛片a区内射 | 少妇性l交大片免费观看 | 久久国产精品区 | 97超碰人人干 | avhd101高清在线迷片麻豆 | 久久99草 | 成人av一区二区三区 | 女警一级淫片免费放 | 免费av网站观看 | 在线观看aaa | 国产精品夜间视频香蕉 | 国产人与禽zoz0性伦多活几年 | 亚洲欧美日韩国产精品b站在线看 | 在线免费观看成年人视频 | 91精品久久久久久久久中文字幕 | 久久久久成人精品 | 精品乱码久久久久久中文字幕 | 国产成人午夜精品影院游乐网 | 国产欧美一区二区三区在线看 | 国产又粗又猛又大爽又黄老大爷 | 国产精品人妻一码二码尿失禁 | 欧美日韩一卡二卡三卡 | 日韩 欧美 亚洲 | 欧美性潮喷xxxxx免费视频看 | 国产在线午夜卡精品影院 | 小柔好湿好紧太爽了国产网址 | 亚洲国产另类久久久精品黑人 | 一个人看的www视频免费观看 | 国产传媒视频在线 | 久久久国产精品免费 | 午夜在线视频观看 | 日本一级一片免费视频 | 99精品久久久久久久久久综合 | 丁香桃色午夜亚洲一区二区三区 | 寡妇高潮一级片 | 手机在线看黄色 | 最新中文字幕一区 | 日日鲁夜夜视频热线播放 | 91久久香蕉国产日韩欧美9色 | 久久人人爽人人爽人人 | 12av在线 | 日韩精品成人一区二区三区 | 欧美黑人一级 | 欧美一级二级三级视频 | 色av综合 | 欧美日韩视频免费 | 91精品久久久久久粉嫩 | 天天操操| 欧美牲交a欧美牲交aⅴ久久 | 欧美黄色网| 亚洲日韩中文字幕一区 | 亚洲日韩aⅴ在线视频 | 妖精视频在线观看免费 | 乱精品一区字幕二区 | 女教师少妇高潮免费 | 欧美日韩中文字幕在线观看 | 色午夜 | www欧美| 亚洲乱码国产乱码精品精剪 | 色欲人妻aaaaaaa无码 | 伊人精品视频在线观看 | 人妻无码中文专区久久五月婷 | 欧美最顶级丰满的aⅴ艳星 欧美最黄视频 | 高清一区二区三区日本久 | 中文字幕.com | 色婷婷久久久swag精品 | 亚洲成人黄色网 | 欧美一区二区在线免费观看 | 亚洲春色综合另类网蜜桃 | 日本高清视频在线 | 日本中文在线 | 欧美日韩国产免费观看 | 人人干人人爽 | 无码人妻少妇久久中文字幕 | a视频免费看 | 网红主播大秀福利视频日韩精品 | 在线观看www | 国产成人午夜精华液 | 女性高爱潮视频 | 国产裸体永久免费视频网站 | 亚洲午夜天堂吃瓜在线 | 国产精品久久久久久亚洲伦 | 成人免费观看激情视频 | 米奇777超碰欧美日韩亚洲 | 国产精品一区二区三区在线 | 成人免费黄色小视频 | 在线不卡日本v二区到六区 免费又黄又爽又猛的毛片 特级西西人体444www高清大胆 | 四虎在线网址 | 国产午夜精品在线 | 欧美精品一| 精品中文字幕av | 欧日韩不卡在线视频 | 夜夜爽日日澡人人添 | 久久夜色精品国产噜噜av小说 | 黄色免费av | 青青色在线观看 | 黄色a级片网站 | 亚洲性猛交xxxx乱大交 | 亚洲第一色播 | 88国产精品视频一区二区三区 | 国产欧美日韩综合精品一 | 亚欧成a人无码精品va片 | 国产激情网站 | 国产午夜精品一区 | 欧美视频免费看欧美视频 | 久久嗨 | 五月综合色婷婷 | 亚洲男人av香蕉爽爽爽爽 | 国产一区二区三区精品视频 | 伊人网综合网 | av观看免费在线 | 国产一区在线视频观看 | 大黄一级片 | 成人污污www网站免费丝瓜 | 久久综合综合久久 | 欧美乱妇高清无乱码一级特黄 | 亚洲男人天堂2017 | 久久久久国产一区二区 | 亚洲天堂网一区 | 欧美性色黄大片人与善 | 日韩欧美一级大片 | 99在线观看免费 | 亚洲最新在线视频 | 国产成人无码视频一区二区三区 | 在厨房拨开内裤进入在线视频 | 香蕉网站在线观看 | 欧美性生活精品 | 无码免费一区二区三区免费播放 | 免费一区二区视频 | 天天射天天干天天插 | 偷拍各种高潮xxx | 91啦丨九色丨国产人 | 精品成在人线av无码免费看 | 鲁一鲁av2019在线 | 天干天干天啪啪夜爽爽99 | ass亚洲曰本人体私拍ass | 在线观看1区 | 欧美大片在线免费观看 | 四虎地址8848精品 | 91丨九色丨蝌蚪最新地址 | 亚洲精品美女在线观看 | 亚洲色图p| 男人靠女人免费视频网站 | 亚洲人成网站在线在线观看 | jjzz在线| 亚洲一区二区日本 | 成人av中文解说水果派 | 国产jizz18高清视频 | 尤物视频在线观看免费 | 影音先锋亚洲成aⅴ人在 | 天天躁狠狠躁狠狠躁夜夜躁68 | 久久久久人妻精品一区 | 东方av正在进入 | 一级黄色性感片 | 久久免费看少妇 | 国产成人午夜精品 | 麻豆影视在线观看 | 久久综合九色综合久99 | 国产69精品久久777的优势 | www在线看片 | 国产精品一二三四五区 | 欧美精品卡一卡二 | 久久精品岛国av一区二区无码 | 黄色三级视频 | 国产又黄又猛又粗又爽的 | 国产免费一区二区三区四区五区 | 99在线精品视频免费观看20 | 久久精品蜜芽亚洲国产av | 国产精品久久久久久人妻精品动漫 | 久久精品无码一区二区日韩av | 公妇乱淫1~6集全观看不了啦 | 在线观看黄色片网站 | 五月色丁香婷婷网蜜臀av | jizz教师| 国产精品久久久久久久久免费樱桃 | 1024国产视频 | 无码人妻精品一区二区三区在线 | 5566毛片| 亚洲一区波多野结衣在线app | 51精品久久久久久久蜜臀 | 中文字幕一区二区免费 | 国产精品久久久久久久久久久新郎 | 久久综合久久自在自线精品自 | 亚洲色土 | 97热久久 | 青草草在线视频 | 一级特黄色毛片 | 国产丝袜在线视频 | 青青草在线视频网站 | 国产香蕉网 | 国产精品久久久久久久久久ktv | 久久wwww| 亚洲精品中文字幕乱码三区 | 波多野结衣在线观看一区二区三区 | 无遮挡在线 | 国精一二二产品无人区免费应用 | 亚洲精品久久久久中文字幕二区 | 亚洲自拍成人 | 九一亚洲精品 | 中文字幕在线播放av | 久久人人爽人人爽人人av | 久久bb| 成人性生交大片免费看 | 国产不卡一区 | 国产成年免费视频 | 国产性色av免费观看 | 五月亚洲综合 | www.香蕉视频在线观看 | 六十路熟妇乱子伦 | 成年人的黄色片 | 91精品国产乱码久久蜜臀 | 国内精品久久久久久影视8 国内精品久久久久影视老司机 | 日本做爰高潮片免费视频 | 精品人妻码一区二区三区 | 国产成人无码一区二区在线播放 | 亚洲第一成年免费网站 | 亚洲自拍一区在线 | 国产成人亚洲精品自产在线 | 日韩精品免费一区二区在线观看 | 四季久久免费一区二区三区四区 | 97免费视频在线观看 | av色综合久久天堂av色综合在 | 精品国产一区二区三区久久久蜜臀 | 天天爽夜夜爽夜夜爽 |