注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具WINDOWS 2000編程技術(shù)內(nèi)幕

WINDOWS 2000編程技術(shù)內(nèi)幕

WINDOWS 2000編程技術(shù)內(nèi)幕

定 價:¥88.00

作 者: (美)[M.威廉姆斯]Mickey Williams著;前導(dǎo)工作室譯
出版社: 機械工業(yè)出版社
叢編項: 軟件開發(fā)技術(shù)叢書
標 簽: Windows

購買這本書可以去


ISBN: 9787111076322 出版時間: 1999-12-01 包裝: 平裝
開本: 26cm+光盤1片 頁數(shù): 700 字數(shù):  

內(nèi)容簡介

  本書是Mickey Winlliams所著的一本講述Windows 2000編程的專著,全書共分為五個部分:Windows 2000核心技術(shù)、用戶交互/桌面、COM和ActiveX、COM+以及分布式Windows 2000服務(wù),詳細介紹了Windows 2000所實現(xiàn)的各種服務(wù),以及它所提供的API函數(shù)。本書結(jié)構(gòu)嚴謹,內(nèi)容全面。作者提供了大量的實例,使讀者能夠輕松地理解復(fù)雜的概念及原理。所以,本書是學(xué)習(xí)Windows 2000應(yīng)用程序開發(fā)的一本難得的入門教材,同時也是Windows NT編程人員必不可少的一本以參考資料。

作者簡介

暫缺《WINDOWS 2000編程技術(shù)內(nèi)幕》作者簡介

圖書目錄

     目 錄
   譯者序
   前言
    第一部分 Windows2000 核心技術(shù)
   第1章 WindowsDNA概述
    1.1Windows和WindowsNT的歷史
    1.2WindowsDNA剖析
    1.3WindowsDNA的結(jié)構(gòu)
    1.3.1COM
    1.3.2表示層
    1.3.3防火墻層
    1.3.4業(yè)務(wù)邏輯層
    1.3.5數(shù)據(jù)層
    1.4小結(jié)
   第2章 虛擬內(nèi)存和內(nèi)存管理
    2.1使用虛擬內(nèi)存
    2.2使用虛擬內(nèi)存的時機
    2.2.1保留一定的虛擬內(nèi)存
    2.2.2提交一個虛擬內(nèi)存頁面
    2.2.3鎖定虛擬內(nèi)存頁面
    2.2.4釋放虛擬內(nèi)存頁面
    2.2.5為其他進程分配內(nèi)存
    2.3使用虛擬內(nèi)存的例子
    2.4Windows2000堆函數(shù)
    2.4.1Windows2000下的堆管理
    2.4.2在C++類中使用私有堆
    2.5小結(jié)
   第3章 線程和進程
    3.1進程和線程
    3.2管理進程
    3.2.1使用CreateProcess函數(shù)
    3.2.2結(jié)束進程
    3.3管理線程
    3.3.1創(chuàng)建線程
    3.3.2結(jié)束線程
    3.3.3取出并改變線程的優(yōu)先級
    3.3.4線程局部存儲
    3.3.5判斷線程的標識符
    3.3.6使用線程相似性
    3.3.7使多個線程合作
    3.3.8何時應(yīng)創(chuàng)建線程
    3.3.9何時不應(yīng)創(chuàng)建線程
    3.4同步
    3.4.1使用Win32互鎖操作
    3.4.2臨界區(qū)
    3.4.3管理事件
    3.4.4信號燈與互斥
    3.5信號量
    3.5.1信號量和等待函數(shù)
    3.5.2信號量應(yīng)用程序
    3.5.3創(chuàng)建信號量
    3.5.4返回信號量控制的資源
    3.6在應(yīng)用程序中使用信號量和臨
    界區(qū)
    3.7使用作業(yè)對象
    3.7.1控制作業(yè)對象屬性
    3.7.2作業(yè)對象實例
    3.8小結(jié)
   第4章 文件
    4.1使用Windows2000文件系統(tǒng)
    4.2執(zhí)行通用文件操作
    4.2.1收集卷信息
    4.2.2文件系統(tǒng)標志
    4.2.3例子
    4.2.4打開、關(guān)閉和刪除文件
    4.2.5寫文件
    4.2.6讀文件
    4.3查找文件
    4.3.1使用FindFirstFile、FindNextFile
    和FindC1ose
    4.3.2即將面世的FindFirstFileEx
    4.3.3使用FILETIME結(jié)構(gòu)
    4.4執(zhí)行其他文件操作
    4.4.1使用CopyFile
    4.4.2使用MoveFile
    4.4.3使用SetFilePointer
    4.4.4使用GetFileSize
    4.5使用異步輸入輸出
    4.5.1使用重疊的輸入和輸出
    4.5.2使用文件完成例程
    4.5.3使用文件完成例程的例子
    4.6利用加密文件系統(tǒng)
    4.7使用文件通知函數(shù)
    4.8小結(jié)
   第5章 結(jié)構(gòu)化異常處理
    5.1異常處理的基礎(chǔ)知識
    5.2SEH工作原理
    5.3使用終止處理程序
    5.3.1使用__leave來離開__try塊
    5.3.2使用正常和反常終止
    5.4使用異常處理程序
    5.4.1使用異常過濾器
    5.4.2處理浮點異常
    5.5C++異常處理
    5.5.1使用異常來檢測錯誤
    5.5.2在錯誤產(chǎn)生后使用異常清除
    5.5.3使用標準異常庫
    5.5.4使用運行異常
    5.5.5使用邏輯異常
    5.5.6檢測構(gòu)造時的錯誤
    5.6把Win32SEH與C++異常處理集成
    起來
    5.7小結(jié)
   第6章 動態(tài)鏈接庫
    6.1理解庫
    6.1.1靜態(tài)鏈接庫
    6.1.2動態(tài)鏈接庫
    6.1.3使用DLL的好處
    6.1.4使用DLL的不利之處
    6.2創(chuàng)建和使用動態(tài)鏈接庫
    6.2.1DLL初始化
    6.2.2導(dǎo)出和導(dǎo)入DLL函數(shù)和數(shù)據(jù)
    6.2.3在裝入期間裝入DLL
    6.2.4在運行時裝入DLL
    6.2.5DLL版本控制
    6.2.6創(chuàng)建DLL共享內(nèi)存
    6.2.7簡單的DLL實例
    6.2.8使用C++和DLL
    6.2.9使用MFC和DLL
    6.3通用替換程序
    6.3.1通用替換程序的結(jié)構(gòu)
    6.3.2通用替換程序函數(shù)
    6.3.3通用替換程序?qū)嵗?br />     6.3.4通用替換程序的調(diào)試
    6.4 小結(jié)
   第7章 分布式安全性
    7.1Windows2000安全性概述
    7.2基本安全性數(shù)據(jù)結(jié)構(gòu)
    7.2.1進程和線程安全性令牌
    7.2.2安全標識符
    7.2.3ACE、DACL和SACL結(jié)構(gòu)
    7.2.4判斷ACL所需的大小
    7.2.5給DACL添加允許訪問的ACE
    7.2.6安全描述符
    7.2.7獲取安全描述符
    7.2.8使用安全屬性結(jié)構(gòu)
    7.3基于委托的訪問控制
    7.3.1TRUSTEE結(jié)構(gòu)
    7.3.2ACTRL_ACCESS_ENTRY
    結(jié)構(gòu)
    7.3.3ACTRL_ACCESS_ENTRY_LIST
    結(jié)構(gòu)
    7.3.4ACTRL_PROPERTY_ENTRY
    結(jié)構(gòu)
    7.3.5ACTRL_ACCESS結(jié)構(gòu)
    7.4模仿客戶程序
    7.5小結(jié)
   第8章 Wind0ws2000調(diào)試技術(shù)
    8.1Windows調(diào)試策略
    8.2使代碼易于調(diào)試
    8.2.1Windows2000的調(diào)試支持
    8.2.2MFC調(diào)試支持
    8.3Windows2000調(diào)試技術(shù)概述
    8.3.1符號調(diào)試信息
    8.3.2Microsoft調(diào)試工具
    8.3.3第三方調(diào)試工具
    8.4VisualC++集成的調(diào)試工具
    8.4.1VisualC++調(diào)試工具的基本知識
    8.4.2窗口中的內(nèi)容
    8.4.3VisualC++調(diào)試工具技巧
    8.5Windows調(diào)試工具WINDBG
    8.6使用Softlce調(diào)試程序
    8.7使用Dr.WAtson
    8.8使用BugTrapper
    8.9第三方工具的來源
    8.9.1CompuwareNuMegaLab
    8.9.2MutekSolutions有限公司
    8.9.3Rational
    8.10小結(jié)
   第9章 Wind0ws2000服務(wù)
    9.1服務(wù)
    9.1.1與Windows2000服務(wù)相交互
    9.1.2Windows2000服務(wù)和系統(tǒng)安全
    9.2編程實現(xiàn)Windows2000服務(wù)
    9.2.1用服務(wù)狀態(tài)更新服務(wù)控制管理器
    9.2.2Windows2000服務(wù)的生存周期
    9.2.3停止Windows2000服務(wù)
    9.2.4往Windows2000事件日志中寫
    數(shù)據(jù)
    9.3Windows2000服務(wù)的例子
    9.4小結(jié)
   第10章 控制Windows2000服務(wù)
    10.1編寫服務(wù)控制程序
    10.1.1使用服務(wù)控制管理器注冊服務(wù)
    10.1.2取消注冊服務(wù)
    10.1.3自動重啟出錯的服務(wù)
    10.2編寫控制面板小程序
    10.2.1控制面板小程序接口
    10.2.2CtlFileSpy:FileSpy的控制面板
    小程序
    10.3小結(jié)
    第二部分 用戶交互/桌面
   第11章 高級圖形設(shè)備接口編程
    11.1GDI基礎(chǔ)
    11.2設(shè)備描述表
    11.2.1GDI映射模式
    11.2.2GDI對象及其用法
    11.3位圖
    11.3.1DDB與DIB
    11.3.216色DIB
    11.3.3256色DIB
    11.4DIB例子
    11.4.1CDIBitmap類
    11.4.2CBmpPalette類
    11.4.3CDibDoc類的修改
    11.4.4主窗體類的修改
    11.4.5CDibView類的修改
    11.5路徑
    11.6元文件
    11.7元文件的例子
    11.7.1CMetaView類聲明的修改
    11.7.2CMetaView類析構(gòu)函數(shù)的修改
    11.7.3對CMetaView:OnInitialUpdate
    的修改
    11.7.4鼠標左擊
    11.7.5對CMetaView:OnDraw的修改
    11.8小結(jié)
   第12章 所有者作圖和定制作圖
    12.1使用所有者作圖控件
    12.2實現(xiàn)所有者作圖控件
    12.2.1處理WM_DRAWITEM消息
    12.2.2處理WMMEASUREITEM
    消息
    12.2.3處理WM_COMPAREITEM消息
    12.2.4處理WM_DELETEITEM消息
    12.3所有者作圖實例:OWnDraw
    12.3.1創(chuàng)建CListItem結(jié)構(gòu)
    12.3.2處理所有者作圖消息
    12.3.3向列表框中加入項目
    12.3.4處理WM_MEASUREITEM消息
    12.3.5處理WM_DRAWITEM消息
    12.3.6處理WM_DELETEITEM消息
    12.4使用定制作圖
    12.4.1定制作圖所使用的數(shù)據(jù)結(jié)構(gòu)
    12.4.2CustDraw:使用MFC的定制作
    圖實例
    12.5小結(jié)
    第三部分 COM和Active
   第13章 COM和OLE
    13.1COM和OLE概述
    13.2常用COM和OLE技術(shù)
    13.2.1復(fù)合文檔
    13.2.2可視化編輯
    13.2.3自動化
    13.2.4OLE數(shù)據(jù)傳輸
    13.2.5拖放
    13.2.6與其他應(yīng)用程序集成
    13.3使用COM和OLE編程
    13.3.1使用COM接口
    13.3.2標識COM接口和對象
    13.3.3處理GUID
    13.3.4處理版本問題
    13.3.5使用IUnknown接口
    13.3.6創(chuàng)建對象
    13.4COM組件的一個例子
    13.4.1使用Shell擴展機制
    13.4.2理解快捷菜單擴展
    13.4.3創(chuàng)建實例
    13.5小結(jié)
   第14章 自動化
    14.1創(chuàng)建使用自動化的可編程應(yīng)用程序
    14.2IDispatch接口
    14.2.1IDispatch使用的數(shù)據(jù)類型
    14.2.2IDispatch中的函數(shù)
    14.2.3IDispatch接口與虛函數(shù)表
    14.3創(chuàng)建使用MFC的自動化服務(wù)程序
    14.3.1修改自動化選項
    14.3.2修改文檔類
    14.3.3為AutoBub創(chuàng)建對話框
    14.3.4為AutoBub畫泡泡對象
    14.3.5往AutoBub中加入自動化支持
    14.4使用VisualBasic創(chuàng)建自動化控制
    程序
    14.5在VBScript中使用自動化
    14.6小結(jié)
   第15章 OLE拖放
    15.1OLE剪貼板
    15.1.1使用FORMATETC和
    STGMEDIUM結(jié)構(gòu)
    15.1.2處理FORMATETC結(jié)構(gòu)
    15.1.3使用DVTARGETDEVICE結(jié)構(gòu)
    15.1.4使用STGMEDIUM結(jié)構(gòu)
    15.1.5使用IDataObject接口
    15.2使用OLE拖放
    15.2.1OLE拖放來源
    15.2.2OLE拖放目標
    15.3拖放實例
    15.4 小結(jié)
   第16章 COM線程化模型
    16.1COM線程化方案
    16.1.1進程內(nèi)COM服務(wù)程序
    16.1.2進程外服務(wù)程序
    16.1.3管理進程間的內(nèi)存
    16.1.4使用住所中的COM
    16.2STA 和MTA
    16.2.1為每個線程選擇一個住所
    16.2.2線程的最佳住所
    16.2.3為COM對象選擇住所
    16.2.4在客戶程序和COM對象間不匹配
    的住所
    16.3在COM住所間調(diào)度
    16.3.1共享接口指針的錯誤方法
    16.3.2共享接口指針的正確方法
    16.4小結(jié)
   第17章 COM對象
    17.1使用IDL
    17.1.1深入MIDL屬性
    17.1.2編譯MIDL源文件
    17.1.3使用類型庫
    17.1.4使用IDL中的結(jié)構(gòu)
    17.1.5使用IDL中的枚舉類型
    17.1.6指針和IDL
    17.1.7使用IDL中的方向?qū)傩?br />     17.2使用ATL創(chuàng)建定制組件
    17.2.1常用的ATL類
    17.2.2ATLCOM接口映射
    17.2.3使用ATL向?qū)?br />     17.2.4將代理/存根代碼合并到DLL中
    17.2.5一個定制COM對象的示例
    17.3使用moniker
    17.3.1系統(tǒng)moniker的示例
    17.3.2創(chuàng)建moniker實例
    17.3.3將moniker轉(zhuǎn)換為文本字符串
    17.3.4根據(jù)顯示名創(chuàng)建moniker
    17.4連接點
    17.5定制調(diào)度
    17.5.1深入定制調(diào)度
    17.5.2深入按值調(diào)度
    17.5.3實現(xiàn)定制代理
    17.5.4在服務(wù)器上實現(xiàn)IMarshal
    17.5.5比較使用定制代理和標準代理
    的性能
    17.6小結(jié)
   第18章 ActiveX控件
    18.1什么是ActiveX控件
    18.2ActiveX控件接口
    18.3ActiveX控件的屬性 事件和
    方法
    18.3.1屬性
    18.3.2事件
    18.3.3方法
    18.4一個ActiveX控件示例
    18.4.1創(chuàng)建工程
    18.4.2繪制控件
    18.4.3定義AxEdit的屬性
    18.4.4字符輸入處理
    18.4.5修改控件的位圖
    18.5測試ActiveX控件
    18.5.1選擇控件的測試容器
    18.5.2使用TSTCON32測試容器
    18.5.3測試屬性
    18.6使用ATL創(chuàng)建ActiveX控件
    18.6.1使用ATL實現(xiàn)stock屬性
    18.6.2使用ATL實現(xiàn)custom屬性
    18.6.3通過ATL使用ambient屬性
    18.6.4在ATL工程中實現(xiàn)事件
    18.6.5添加消息和事件處理程序
    18.7用ATL構(gòu)建的ActiveX控件
    18.7.1PopButton的基本設(shè)計思路
    18.7.2創(chuàng)建PopBtn工程
    18.7.3用VisualBasic測試PopButton
    控件
    18.8小結(jié)
   第19章 異步COM
    19.1COM中的同步方法和異步方法
    19.2Windows2000中對異步方法的
    支持
    19.2.1IDL中的異步支持
    19.2.2Windows2000中其他新的異步
    組件
    19.2.3使用Fire和Forget模式
    19.3一個異步COM的示例
    19.3.1IShop接口
    19.3.2AsyncTest工程
    19.3.3一個同步測試客戶
    19.3.4IShop接口的第二版
    19.3.5一個異步測試客戶
    19.4小結(jié)
   第20章 DCOM
    20.1位置透明性
    20.1.1創(chuàng)建遠程對象的實例
    20.1.2使用IMultiQI接口
    20.1.3確定外部引用是否有效
    20.2DCOM中的安全性
    20.2.1安全性的類型
    20.2.2深入調(diào)用安全性
    20.2.3深入模仿與偽裝
    20.2.4設(shè)置計算機的安全級別
    20.2.5設(shè)置進程的安全屬性
    20.2.6深入安全模塊
    20.2.7設(shè)置接口的客戶端安全屬性
    20.2.8管理服務(wù)器端的安全性
    20.3使用DCOM配置程序
    20.3.1使用DCOMConfig設(shè)置系統(tǒng)
    端屬性
    20.3.2使用DCOMConfig設(shè)置特定
    AppID的屬性
    20.4小結(jié)
    第四部分 COM+
   第21章 COM+服務(wù)簡介
    21.1事務(wù)簡介
    21.1.1ACID:事務(wù)處理的四大特性
    21.1.2事務(wù)的分類
    21.1.3兩階段提交協(xié)議
    21.2深入COM+內(nèi)的事務(wù)
    21.3構(gòu)建一個可支持事務(wù)處理的COM+
    組件
    21.3.1使用VisualBasic構(gòu)建COM
    對象
    21.3.2啟示
    21.3.3向COM+應(yīng)用程序中添加組件
    21.4小結(jié)
   第22章 構(gòu)建COM+服務(wù)組件
    22.1好的ComponentService組件
    22.1.1生命周期/無狀態(tài)
    22.1.2無狀態(tài)對象
    22.1.3活動
    22.2編寫事務(wù)組件
    22.2.1創(chuàng)建通用事務(wù)組件
    22.2.2使用VisualC++創(chuàng)建事務(wù)性
    COM+對象
    22.2.3使用VisualBasic創(chuàng)建事務(wù)性
    COM+對象
    22.3使用COM編譯器支持類
    22.3.1TLH和TLI:檢查輸出
    22.3.2COM編譯器命令屬性
    22.3.3使用com_error產(chǎn)生和捕捉
    錯誤
    22.3.4使用任何數(shù)據(jù):_variant_t
    22.3.5使用BSTR:_bstr_t
    22.4使用多個COM+對象
    22.4.1組合COM+對象的事務(wù)生命
    周期
    22.4.2有多個對象參與的事務(wù)的輸出
    22.4.3錯誤處理
    22.4.4傳遞參數(shù)和接口
    22.5小結(jié)
   第23章 使用IIS與COM+
    23.1Web應(yīng)用程序基礎(chǔ)
    23.1.1ASP概覽
    23.1.2腳本示例
    23.1.3ASP應(yīng)用程序
    23.1.4內(nèi)置的ASP對象
    23.2構(gòu)建Web應(yīng)用程序
    23.3實現(xiàn)方法
    23.3.1對HTML窗體的處理
    23.3.2管理cookie
    23.3.3創(chuàng)建cookie
    23.3.4ServerVariables集合
    23.3.5對ASP錯誤的處理
    23.3.6定義全局關(guān)鍵字
    23.3.7強制次序
    23.3.8用JavaScript簡化重定向過程
    23.3.9管理對象的更為簡單的方法
    23.3.10使用二進制數(shù)據(jù)
    23.3.11編寫動態(tài)代碼
    23.3.12動態(tài)地調(diào)整內(nèi)容的大小
    23.3.13數(shù)據(jù)驗證
    23.3.14下載文件
    23.3.15發(fā)送email
    23.3.16瀏覽器的功能
    23.4組件開發(fā)
    23.4.1一個簡單的ASP組件
    23.4.2內(nèi)容更豐富的ASP組件
    23.5事務(wù)性的ASP頁
    23.6小結(jié)
   第24章 使用COM+駐留內(nèi)存數(shù)據(jù)庫
    24.1駐留內(nèi)存數(shù)據(jù)庫
    24.2一個簡單的示例
    24.2.1創(chuàng)建IMDB
    24.2.2創(chuàng)建IMDB數(shù)據(jù)源
    24.2.3引用資源表
    24.3IMDB的一些細節(jié)問題
    24.3.1在OLEDB級支持哪些接口
    24.3.2特定條件是如何與OLEDB使用
    者模板相關(guān)的
    24.3.3ADO使用的細節(jié)
    24.4小結(jié)
   第25章 高級COM+服務(wù)
    25.1通過對象共享和負載平衡獲得可擴
    展性
    25.1.1實現(xiàn)IObjectControl
    25.1.2動態(tài)負載平衡
    25.2一些高級的事務(wù)概念
    25.2.1避免死鎖和阻塞
    25.2.2IObjectConstruct接口
    25.2.3特定情況下的事務(wù)控制
    25.2.4由客戶控制事務(wù)
    25.3排隊組件
    25.3.1什么是排隊組件
    25.3.2排隊組件是如何工作的
    25.3.3編寫排隊組件
    25.3.4使用排隊組件發(fā)送返回消息
    25.4異步分發(fā)信息
    25.4.1出版者/訂戶結(jié)構(gòu)簡介
    25.4.2構(gòu)建出版者/訂戶工程
    25.5小結(jié)
    第五部分 分布式Wind0ws2000服務(wù)
   第26章 管道
    26.1管道的類型
    26.2無名管道
    26.2.1創(chuàng)建和關(guān)閉無名管道
    26.2.2管道的讀和寫
    26.2.3使用無名管道與另一進程通信
    26.2.4使用無名管道的一個示例
    26.3有名管道
    26.3.1有名管道的類型
    26.3.2創(chuàng)建和關(guān)閉有名管道
    26.3.3連接和使用有名管道
    26.3.4使用有名管道的示例
    26.4小結(jié)
   第27章 活動目錄
    27.1活動目錄概覽
    27.1.1名字空間組織
    27.1.2樹和森林
    27.2使用ADSI管理活動目錄
    27.2.1在VisualBasic和VisualC++中
    使用ADSI
    27.2.2ADSI綁定字符串
    27.2.3ADSI輔助函數(shù)
    27.2.4無服務(wù)的綁定和ADSI
    27.2.5ADSI所提供的COM接口
    27.3其他資源
    27.4小結(jié)
   第28章 MSMQ
    28.1MicrosoftMessageQueueServer
    簡介
    28.1.1MSMQ和有名管道
    28.1.2安裝MSMQ
    28.1.3消息隊列的類型
    28.1.4公用隊列和專用隊列
    28.2MSMQ對象屬性
    28.2.1隊列屬性
    28.2.2消息屬性
    28.2.3機器屬性
    28.2.4內(nèi)存分配
    28.3使用Win32API創(chuàng)建和管理消息
    隊列
    28.3.1創(chuàng)建消息隊列
    28.3.2打開已有的隊列
    28.3.3向消息隊列發(fā)送消息
    28.3.4從消息隊列中接收消息
    28.3.5關(guān)閉消息隊列句柄
    28.3.6刪除消息隊列
    28.4用VisualBasic編寫的消息隊列客戶
    程序
    28.5小結(jié)
   第29章 集群服務(wù)器
    29.1集群服務(wù)器的結(jié)構(gòu)
    29.1.1集群服務(wù)器的硬件
    29.1.2MSCS軟件組件
    29.1.3集群的啟動和恢復(fù)
    29.2集群API
    29.2.1集群對象管理API
    29.2.2資源DLLAPI
    29.2.3集群管理擴展API
    29.3一個可感知集群的示例
    29.3.1ClusterQuote工程
    29.3.2QuoteClient工程
    29.3.3HighAvailabilityQuotes集群資源
    類型
    29.4小結(jié)
   

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號