接口軟件技術(shù)課件_第1頁(yè)
接口軟件技術(shù)課件_第2頁(yè)
接口軟件技術(shù)課件_第3頁(yè)
接口軟件技術(shù)課件_第4頁(yè)
接口軟件技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第5章 接口軟件技術(shù) 本章的內(nèi)容有:接口概述DOS和Windows下的接口調(diào)用方法COM編程技術(shù)5.1 接口概述5.1.1 接口的功能一般來說,由于CPU在與I/O設(shè)備進(jìn)行數(shù)據(jù)交換時(shí)通常存在:速度不匹配,時(shí)序不匹配,信息格式不匹配信息類型不匹配接口軟件(驅(qū)動(dòng)軟件)的功能1接口初始化2分析與檢查功能調(diào)用3完成相關(guān)硬件的功能調(diào)用4異常情況的處理5.1.2 驅(qū)動(dòng)軟件的運(yùn)行方式1無條件同步方式2異步查詢方式3中斷方式無條件同步方式可在任意時(shí)刻對(duì)硬件進(jìn)行驅(qū)動(dòng),不必考慮硬件的接受能力這只有在硬件的執(zhí)行速度很快,在任意時(shí)機(jī)都能響應(yīng)驅(qū)動(dòng)軟件的驅(qū)動(dòng)控制時(shí)才有可能。只在非常簡(jiǎn)單或速度非常高的系統(tǒng)中才可能存在。 異

2、步查詢方式 驅(qū)動(dòng)程序應(yīng)該對(duì)外設(shè)硬件的狀態(tài)進(jìn)行查詢,在適當(dāng)?shù)臅r(shí)機(jī)進(jìn)行硬件功能的驅(qū)動(dòng)或結(jié)果的取回。使用異步查詢方式時(shí),外設(shè)硬件必須能根據(jù)硬件的運(yùn)行情況,將狀態(tài)送給驅(qū)動(dòng)程序,以供驅(qū)動(dòng)程序查詢。由于驅(qū)動(dòng)程序必須在程序中反復(fù)判斷外設(shè)的硬件狀態(tài),等待硬件確定工作狀態(tài)的到來,因此程序的運(yùn)行效率不高。 返回中斷方式 驅(qū)動(dòng)程序分為兩個(gè)部分第一部分負(fù)責(zé)對(duì)外設(shè)硬件的啟動(dòng)驅(qū)動(dòng),完成之后,這部分驅(qū)動(dòng)程序就退出運(yùn)行,CPU轉(zhuǎn)而執(zhí)行其他的應(yīng)用程序第二部分:中斷服務(wù)程序。透明地竊取應(yīng)用程序的極少量執(zhí)行時(shí)間。中斷運(yùn)行方式是效率最高的調(diào)用方式,但要求硬件必須有產(chǎn)生中斷源的能力,并且需要占用系統(tǒng)的一些軟、硬件中斷控制資源。5.1.

3、3 接口緩沖區(qū)1CPU中的通用寄存器適用于交互數(shù)據(jù)較少的情況,最快、最方便、最簡(jiǎn)單可靠的方式。2公用存儲(chǔ)區(qū)公用存儲(chǔ)區(qū)是由外設(shè)調(diào)用者和外設(shè)雙方都可尋址的一塊連續(xù)內(nèi)存塊,用于雙方的數(shù)據(jù)交互。3堆棧堆棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu)。使用堆棧時(shí),要特別注意棧中各個(gè)數(shù)據(jù)項(xiàng)的先后次序,以及堆棧指針的設(shè)置和恢復(fù)操作。5.1.4 接口軟件及層次結(jié)構(gòu)操作系統(tǒng)驅(qū)動(dòng)軟件硬件層應(yīng)用軟件圖5.1接口軟件的層次接口DOSBIOS硬件層應(yīng)用軟件應(yīng)用環(huán)境驅(qū)動(dòng)軟件硬件層應(yīng)用軟件設(shè)備管理用戶空間內(nèi)核空間B) Windows的調(diào)用層次A)dos系統(tǒng)的調(diào)用層次圖5.2 設(shè)備調(diào)用層次5.2 DOS系統(tǒng)下的接口調(diào)用DOS系統(tǒng)是單用戶的操作系

4、統(tǒng)DOS系統(tǒng)提供給用戶的編程界面大體有如下幾種:裸機(jī)層軟件開發(fā),利用芯片或板卡(適配器)支持的寄存器或內(nèi)存數(shù)據(jù)區(qū)編程。需要用戶非常清楚設(shè)備的硬件細(xì)節(jié),編程較復(fù)雜,但軟件實(shí)現(xiàn)速度最快。BIOS級(jí)軟件開發(fā),利用BIOS基本輸入輸出系統(tǒng)所提供的一些服務(wù)功能編程。系統(tǒng)功能級(jí)軟件開發(fā),利用DOS系統(tǒng)提供的系統(tǒng)功能編程。5.2.1 BIOS功能級(jí)軟件接口及實(shí)現(xiàn)1BIOS級(jí)軟件接口概述 BIOS基本輸入輸出系統(tǒng)由一批子程序組成,負(fù)責(zé)管理系統(tǒng)內(nèi)的輸入輸出設(shè)備直接為DOS操作系統(tǒng)和應(yīng)用程序提供底層設(shè)備驅(qū)動(dòng)服務(wù)。大多數(shù)的驅(qū)動(dòng)程序以軟件中斷方式調(diào)用,少數(shù)由硬件中斷調(diào)用。表5.1 常用BIOS服務(wù)功能BIOS服務(wù)功能

5、號(hào)功 能打印屏幕服務(wù)05H將當(dāng)前視頻頁(yè)內(nèi)容送到默認(rèn)打印機(jī)視頻服務(wù)10H為顯示適配器提供I/O支持軟盤服務(wù)13H提供軟盤的讀、寫、格式化、初始化、診斷硬盤服務(wù)13H提供硬盤的讀、寫、格式化、初始化、診斷串行通信服務(wù)14H為串行適配器提供字符輸入/輸出系統(tǒng)服務(wù)15H系統(tǒng)級(jí)子服務(wù)鍵盤服務(wù)16H為鍵盤提供I/O支持并行打印機(jī)服務(wù)17H為并行打印機(jī)提供I/O支持 日期時(shí)間服務(wù)1AH設(shè)置和讀取時(shí)間、日期、聲源等2視頻服務(wù)INT l0HAH寄存器選擇視頻服務(wù)功能 待寫的字符或像素值一般在AL寄存器中傳遞。功能調(diào)用保存BX、CX、DX及段寄存器的值。其他寄存器的內(nèi)容(特別是SI、DI)不保存 X坐標(biāo)(列號(hào))在

6、CX(圖形功能)中或DL(正文功能)中傳遞 顯示頁(yè)在BH中傳遞,顯示頁(yè)從零開始計(jì)數(shù) 例如:利用BIOS視頻服務(wù)的AH=0CH子功能實(shí)現(xiàn)寫像素點(diǎn)。調(diào)用子程序之前,需要用DX保存行號(hào),CX保存列號(hào),AL保存顏色值,這是0CH子功能要求的。WRITINGPIXEL PROCNEARPUSHAX MOVAH,0CHINT10HPOPAXWRITINGPIXELENDP3鍵盤服務(wù)鍵盤ISR(鍵盤中斷服務(wù)程序) INT 09H硬件中斷、鍵盤DSR(鍵盤設(shè)備服務(wù)程序),INT 16H軟件中斷BIOS鍵盤服務(wù)包括3個(gè)子功能:0號(hào)功能、1號(hào)功能、2號(hào)功能 子功能號(hào) 含 義出 口 參 數(shù)AH=0從鍵盤輸入一個(gè)字符

7、AL=ASCII碼(或0)AH=掃描碼(或擴(kuò)展掃描碼)AH=1判斷鍵盤有無字符輸ZF=0 有鍵按下,鍵代碼保存在AX中ZF=1 無鍵按下AH=2當(dāng)前鍵盤特殊鍵狀態(tài)AL=KB-FLAG的變量4并行打印機(jī)服務(wù)INT 17H 0號(hào)功能(給打印機(jī)傳送個(gè)字符)1號(hào)功能(初始化打印機(jī))2號(hào)功能(讀打印機(jī)狀態(tài))均可通過AH返回打印機(jī)狀態(tài)字節(jié) =1,不忙,打印機(jī)可用=1,打印機(jī)表示響應(yīng)=1,打印機(jī)無紙=1,打印機(jī)選中=1,打印機(jī)出現(xiàn)超時(shí)錯(cuò)誤未定義未定義=1,打印機(jī)出錯(cuò)D7 D6 D5 D4 D3 D2 D1 D05.2.2 DOS功能級(jí)軟件接口及調(diào)用實(shí)例1DOS功能級(jí)軟件接口調(diào)用概述主要包括:磁盤管理、內(nèi)存管

8、理、基本輸入輸出管理等。 子功能都有一個(gè)00H57H的功能編號(hào) INT 21H 00H0CH:字符I/O管理。包括鍵盤、顯示器、打印機(jī)、異步通信口的管理0DH24H:文件管理。包括復(fù)位、選擇磁盤,打開、關(guān)閉、刪除文件,順序讀、寫文件,建立文件,重命名文件,查找驅(qū)動(dòng)器分配表信息,隨機(jī)讀、寫文件,查看文件長(zhǎng)度25H26H非設(shè)備系統(tǒng)調(diào)用。包括設(shè)置中斷向量,建立新程序段27H29H文件管理。包括隨機(jī)塊讀寫、分析文件名2AH2EH非設(shè)備系統(tǒng)調(diào)用。包括讀取、設(shè)置日期、時(shí)間2FH38H擴(kuò)充的系統(tǒng)調(diào)用。包括讀取DOS版本號(hào),終止進(jìn)程,讀取中斷矢量,讀取磁盤空閑空間39H3BH目錄組。包括建立子目錄,修改當(dāng)前目

9、錄,刪除目錄項(xiàng)3CH46H:擴(kuò)充的文件管理。包括建立、打開、關(guān)閉文件,從文件或設(shè)備讀寫數(shù)據(jù),在指定路徑刪除、移動(dòng)文件,修改文件屬性,設(shè)備I/O控制,復(fù)制文件標(biāo)志47H取當(dāng)前目錄組。48H4BH:擴(kuò)充的內(nèi)存管理。包括分配內(nèi)存、釋放已分配的內(nèi)存、分配內(nèi)存塊、裝入或執(zhí)行程序等4CH4FH:擴(kuò)充的系統(tǒng)調(diào)用。包括終止進(jìn)程、查詢子程序的返回代碼、查找第一個(gè)相匹配的文件、查找下一個(gè)相匹配的文件50H53H:擴(kuò)充的系統(tǒng)調(diào)用。供DOS內(nèi)部使用54H57H:擴(kuò)充的系統(tǒng)調(diào)用。包括讀取校驗(yàn)狀態(tài)、重新命名文件、設(shè)置讀取日期及時(shí)間2基本I/O功能調(diào)用鍵盤輸入(1號(hào)調(diào)用)無回顯的鍵盤輸入(8號(hào)調(diào)用)控制臺(tái)輸入輸出(6號(hào)調(diào)用

10、)無回顯的控制臺(tái)輸入(7號(hào)調(diào)用)打印輸出(5號(hào)調(diào)用)輸出字符串(9號(hào)調(diào)用)輸入字符串(0AH調(diào)用)異步通信輸入輸出(3、4號(hào)調(diào)用)日期與時(shí)間的設(shè)置與獲?。?AH、2BH、2CH、2DH調(diào)用)3DOS功能調(diào)用實(shí)例MOVAX,MYDATAMOVDS,AXDISP:MOVDX,OFFSET MESSEGEMOVAH,09HINT21H;利用9號(hào)功能顯示字符串KEY:MOVDX,OFFSET PARAMETERSMOVAH,10INT21H;利用10號(hào)功能接收字符到緩沖區(qū)5.3 Windows下的接口調(diào)用5.3.1 Windows的體系結(jié)構(gòu)Win32位子系統(tǒng)虛擬設(shè)備管理層VXDIntel硬件平臺(tái)應(yīng)用軟

11、件虛擬DOS機(jī)硬件抽象層HAL多種硬件平臺(tái)應(yīng)用軟件NT系統(tǒng)管理用戶態(tài)內(nèi)核態(tài)B) Windows NTA)Windows 9X圖5.4 Windows的體系結(jié)構(gòu)虛擬DOS機(jī)虛擬機(jī)管理層VMM設(shè)備驅(qū)動(dòng)層內(nèi)核Win32位子系統(tǒng)其它系統(tǒng)Win32位子系統(tǒng)5.3.2 Windows操作系統(tǒng)的內(nèi)核進(jìn)程1Windows 9X的內(nèi)核進(jìn)程系統(tǒng)工作在基于Intel 32位CPU的硬件平臺(tái)上,運(yùn)行在32全位地址空間的保護(hù)模式下。系統(tǒng)核心進(jìn)程空間工作在CPU的最高特權(quán)級(jí)0,用戶空間工作在 CPU的低特權(quán)級(jí)3。系統(tǒng)核心進(jìn)程是由虛擬設(shè)備驅(qū)動(dòng)層VXD和虛擬機(jī)管理層VMM構(gòu)成的 VXDVXD目的:為硬件提供多任務(wù)的支持,增強(qiáng)

12、操作系統(tǒng)對(duì)于硬件設(shè)備的適應(yīng)能力 VXD中的X是指某類設(shè)備 (鼠標(biāo)的虛擬設(shè)備驅(qū)動(dòng)程序稱為VMD,通過VMD就可直接驅(qū)動(dòng)鼠標(biāo);鍵盤的虛擬設(shè)備驅(qū)動(dòng)程序稱為VKD )VMM 位于虛擬設(shè)備驅(qū)動(dòng)層VXD之上 用戶通過調(diào)用Win32的接口API函數(shù),就可以通過VMM獲得系統(tǒng)內(nèi)核及設(shè)備驅(qū)動(dòng)的功能服務(wù) 2Windows NT的內(nèi)核進(jìn)程執(zhí)行層I/O管理器(核心驅(qū)動(dòng)程序)對(duì)象管理器安全引用監(jiān)視進(jìn)程管理器局部過程調(diào)用內(nèi)存管理器CACHE管理器窗口管理器和圖形設(shè)備接口圖形設(shè)備驅(qū)動(dòng)微核層硬件抽象層硬件抽象層微核層微核是一些被操作系統(tǒng)內(nèi)核調(diào)用的微型軟件模塊微核的作用是為操作系統(tǒng)中所有低層次的通用功能提供支持,例如處理和發(fā)送

13、中斷,消息同步,存儲(chǔ)和恢復(fù)線程環(huán)境等,每個(gè)設(shè)備驅(qū)動(dòng)程序內(nèi)都調(diào)用了大量的微核操作來完成自己的功能 可執(zhí)行層 在可執(zhí)行層內(nèi),除了有系統(tǒng)管理服務(wù)的分發(fā)、內(nèi)存分頁(yè)管理等操作系統(tǒng)的內(nèi)核重要模塊外,還包括一些操作系統(tǒng)的主要部件 可執(zhí)行層I/O管理器對(duì)象管理器安全引用監(jiān)視器進(jìn)程管理器局部過程凋用內(nèi)存管理器和高速緩沖管理器Win32支持部件5.3.3 Windows NT的設(shè)備驅(qū)動(dòng)調(diào)用1設(shè)備驅(qū)動(dòng)的調(diào)用過程圖5.6 Windows設(shè)備驅(qū)動(dòng)程序調(diào)用I/O管理器低層驅(qū)動(dòng)程序硬件平臺(tái)應(yīng)用軟件I/O系統(tǒng)服務(wù)用戶態(tài)內(nèi)核態(tài)中間層驅(qū)動(dòng)程序高層驅(qū)動(dòng)程序內(nèi)存管理進(jìn)程管理Win 32子系統(tǒng)及其它管理器Win32位子系統(tǒng)IRP2設(shè)備

14、驅(qū)動(dòng)程序的接口模型 為了規(guī)范和統(tǒng)一設(shè)備驅(qū)動(dòng)程序的外觀和行為,使用驅(qū)動(dòng)程序的接口模型。在該模型中,每當(dāng)I/O管理器要驅(qū)動(dòng)程序執(zhí)行一個(gè)功能時(shí),它就以一套特定的調(diào)用參數(shù)輸入輸出請(qǐng)求包IRP,以這個(gè)模型中的某類功能接口的入口,調(diào)用這些指定的功能。 包括如下功能:DriveEnty 驅(qū)動(dòng)程序入口 Dispatch entry point 分發(fā)入口ISR(Interrupt Service Routine) 中斷服務(wù)程序入口DPC For ISR/Custom DPC 中斷的延遲調(diào)用或定制延遲調(diào)用入口 DPC For ISR/Custom DPC 中斷的延遲調(diào)用或定制延遲調(diào)用入口。Complete Req

15、uest完成例程入口。CancelReinitializeStartIoUnloadIoTimerAdapterControlTime Dpc3Windows的用戶層進(jìn)程用戶環(huán)境層用戶程序?qū)?系統(tǒng)裝入管理系統(tǒng)目錄、文件目錄、系統(tǒng)注冊(cè)表磁盤外存儲(chǔ)器程序模塊應(yīng)用程序模塊請(qǐng)求模塊查詢裝載定位模塊裝載 模塊的動(dòng)態(tài)裝載4Windows的功能調(diào)用Windows系統(tǒng)中,對(duì)于用戶提出的設(shè)備使用請(qǐng)求,是通過調(diào)用Win32子系統(tǒng)中的API函數(shù)實(shí)現(xiàn)的。Windows 9X與Windows NT中的Win32子系統(tǒng)并不相同,兩個(gè)子系統(tǒng)是相互獨(dú)立的 Windows NT中,Win32子環(huán)境有兩類:一類位于用戶態(tài)空間,用

16、戶態(tài)API而另一類位于內(nèi)核態(tài)空間,內(nèi)核態(tài)API 5Windows的功能調(diào)用函數(shù)API的分類及特征API分類窗口管理類API圖形設(shè)備接口類API系統(tǒng)服務(wù)類APIWindows的API函數(shù)擔(dān)負(fù)著為所有的應(yīng)用程序提供所有的服務(wù)功能。它們的主要特征是:支持多任務(wù)采用模塊化的結(jié)構(gòu)支持動(dòng)態(tài)裝載鏈接6API應(yīng)用舉例文件操作 建立文件函數(shù)CreatFile 文件打開操作函數(shù)HFILE_lopenHFILE_lopen(LPCSTR lpPathName,int iReadWrite) 文件建立操作函數(shù)HFILE_lcreat HFILE_lcreat(LPCSTR lpPathName,int iAttrib

17、ute) 移動(dòng)文件的讀寫指針函數(shù)SetFilePointDWORD SetFilePoint(HANDLE hFile,LONG iDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod) 移動(dòng)文件指針操作函數(shù)LONG_llseekLONG_llseek(HFILE hFile,LONG LOffset,int LOrigin) 讀文件函數(shù)ReadFile及寫文件函數(shù)WriteFile HANDLE CreateFile(LPCTSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShare

18、Mode,LPSECURITY_ATTRIBUTES lpsecurityAttributes,DWORD dwCreationDisposition,DWORD dwFlagsAndAttributrs,HADEL hTemplateFile)BOOL ReadFile(HANDLE hFile,LPVOID ipBuffer,DWORD nNumberOfByteToRead, LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped)BOOL WriteFile(HANDLE hFile,LPCVOID lpBuffer, DWORD n

19、NumderOfBytesToWrite,LPDWORD lpNumberOfBytesWrite,LPOVERLAPPED lpOverlapped) 文件讀操作函數(shù)UINT_lread及文件寫操作函數(shù)UINT_ lwrite UINT_lread(HFILE hFile,LPVOID lpBuffer,UINT uBytes)UINT_ lwrite(HFILE hFile,LPCSTR lpBuffer,UINT uBytes) 關(guān)閉對(duì)象句柄函數(shù)CloseHandle及文件關(guān)閉操作函數(shù)HFILE_lcloseBOOL CloseHandle(HANDLE hObject)HFILE_lc

20、lose(HFILE hFile) 內(nèi)存空間分配函數(shù)GlobalAllocHGLOBAL GlobalAlloc(Uint uFlags,DWORD dwBytes) 鎖定一個(gè)全局內(nèi)存對(duì)象函數(shù)GlobalLockLPVOID GlobalLock(HGLOBAL hMem)7.API應(yīng)用舉例窗口操作主程序函數(shù):int PASCAL WinMain( );主窗口的消息處理過程函數(shù):LRESULT CALLBACK MainWndProc( );文件裝載函數(shù):BOOL LoadBmpFile( );注冊(cè)窗口:BOOL RegisterClass( ); 創(chuàng)建窗口: CreateWindow( );

21、使窗口可見:ShowWindow( );窗口更新:UpdateWindow( );消息接收:GetMessage( )消息翻譯:TranslateMessage( );消息調(diào)度:DispatchMessage( );5.4 COM編程技術(shù)COM(Component Object Model,組件對(duì)象模型)作為一個(gè)真正意義上的組件,應(yīng)具備如下特征:實(shí)現(xiàn)了對(duì)開發(fā)語(yǔ)言的封裝。以二進(jìn)制形式發(fā)布。能夠在不妨礙已有用戶的情況下被升級(jí)。在網(wǎng)絡(luò)上的位置必須能夠被透明的重新分配。 5.4.1 COM對(duì)象COM是面向?qū)ο蟮能浖P停贑OM中,對(duì)象是某類組件的一個(gè)實(shí)例COM對(duì)象的應(yīng)用者應(yīng)用程序則稱為客戶每個(gè)COM

22、組件對(duì)象都擁有一個(gè)以上的接口,COM對(duì)象可通過一個(gè)或多個(gè)接口與客戶進(jìn)行交互在COM模型中,由COM對(duì)象實(shí)現(xiàn)的每一個(gè)接口,都分別由一個(gè)128位的二進(jìn)制全局統(tǒng)一標(biāo)識(shí)符GUID(Globally Unique IDentifier)來標(biāo)識(shí)。GUID是一個(gè)隨機(jī)數(shù),并不絕對(duì)保證唯一性,但發(fā)生標(biāo)識(shí)符相重的可能性非常小。從理論上講,如果一臺(tái)機(jī)器每秒產(chǎn)生10 000 000個(gè)GUID,則可保證(概率意義上)3240年不重復(fù)。 5.4.2 COM接口 下面是一個(gè)GUID的例子。54BF6567-1007-11D1-B0AA-444553540000在C/C+中可以用這樣的結(jié)構(gòu)來描述: Typedef struc

23、t_GUID DWORD Data1; WORD Data2; WORD Data3; BYTE Data48; GUID于是前面的GUID例子可以定義為extern C const GUID CLSID_MYSPELLCHECKER= 0 x54BF6567,0 x 1007,0 x 11D1,0 x B0,0 x AA,0 x 44,0 x 45,0 x 53,0 x54,0 x00,0 x00COM庫(kù)提供的API函數(shù)可產(chǎn)生GUID:HRESULT CoCreateGuid(GUID *pguid);如果GUID創(chuàng)建成功,則函數(shù)返回S_OK,并且pguid將指向所得到的GUID值。5.4.2 COM接口 1從API到COM接口圖5.8 應(yīng)用程序A和B通過API接口共用一個(gè)字典組件應(yīng)用A或組件AAPI字典組件應(yīng)用B或組件B平面型的API接口存在以下一些問題: 當(dāng)API函數(shù)非常多時(shí),使用非常不方便,需要對(duì)函數(shù)進(jìn)行組織。 API函數(shù)需要標(biāo)準(zhǔn)化,按照統(tǒng)一的調(diào)用方式進(jìn)行處理,以適應(yīng)不同的語(yǔ)言編程實(shí)現(xiàn) 2COM接口的定義和標(biāo)識(shí)圖5.9 CO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論