DDK中INF文件詳解_第1頁
DDK中INF文件詳解_第2頁
DDK中INF文件詳解_第3頁
DDK中INF文件詳解_第4頁
DDK中INF文件詳解_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.安裝一個(gè)驅(qū)動程序 一個(gè)后綴是INF的文本文件控制設(shè)備驅(qū)動程序自動的安裝。INF格式類似于WIN 3.x下的老式的.INI文件,但是復(fù)雜些。一個(gè)INF文件允許自動的或者在對話框的幫助下安裝驅(qū)動程序文件。 驅(qū)動程序安裝結(jié)束后對系統(tǒng)產(chǎn)生兩個(gè)持久的影響: 1. 描述驅(qū)動程序的系統(tǒng)注冊表入口,它的加載順序和任何適當(dāng)?shù)呐渲脭?shù)據(jù)。 2. 驅(qū)動程序文件被拷貝到適當(dāng)?shù)南到y(tǒng)路徑。 INF文件是影響這些改變的標(biāo)準(zhǔn)的機(jī)制,它可以提供定制安裝。 使用INF文件自動安裝 INF文件隨著硬件和驅(qū)動程序一起提供,INF文件的結(jié)構(gòu)和內(nèi)容是驅(qū)動程序作者的責(zé)任。 INF文件結(jié)構(gòu) INF文件是被分(section)成幾個(gè)部分的文本

2、文件,每個(gè)部分被指定一個(gè)標(biāo)識符號它被中括號()括起來一些部分的命名是必須的而其它部分是驅(qū)動程序特定的每個(gè)部分是一些安裝動作或者連接或者列舉其它部分 文件中各個(gè)部分的順序是不重要的因?yàn)槊總€(gè)部分都是被命名和連接的一個(gè)部分繼續(xù)直到另一個(gè)部分或者遇到文件結(jié)束每個(gè)部分的標(biāo)識符號是獨(dú)一無二的名字為了保持與WIN98的兼容它的長度被限制在28個(gè)字符之內(nèi)可以包含下劃線和圓點(diǎn)字符在引用整個(gè)名字的前提下可以包含空格字符 文件內(nèi)容的一般格式如下: entry = value , value. entry是指令關(guān)鍵詞或者文件名value是entry被應(yīng)用的屬性 entry或者value名字可以指定為一個(gè)使用百分號(%

3、)的代替一些具體數(shù)據(jù)的字符串分割I(lǐng)NF文件的Strings提供一個(gè)特殊語言ID的值。 Version 部分 一個(gè)有效的INF文件從一個(gè)命名為Version的部分開始,它像一個(gè)INF文件的頭和標(biāo)識。 Entry Value Signature “$Windows NT$ $Windows 95$ $Chicago$的其中一個(gè) Class 驅(qū)動程序的整個(gè)家族的類名一些名字是預(yù)先確定的例如Net或者Display ClassGuid 一個(gè)類的獨(dú)一無二的GUID Provider INF文件提供者的名字 LayoutFile 只有在系統(tǒng)支持的INF文件中使用OEM支持的INF文件用SourceDisk

4、sNames 和 SourceDisksFiles代替 DriverVer mm/dd/yyyy,x,y,v,z,必須的條目包含可選的版本信息 表15.1. Version部分的條目 Manufacturers部分 另一個(gè)必須的部分是Manufacturers這個(gè)部分的條目列出了可以使用這個(gè)INF文件安裝的設(shè)備和驅(qū)動程序條目的形式是: manufacturer=model manufacturer列出被安裝的硬件的制造商的INF文件的唯一名字model提供指向INF文件中另一個(gè)進(jìn)一步安裝這個(gè)模型的部分的指針 Models 部分 羅列在Manufacturers部分的每一個(gè)模型在文件中必須有相應(yīng)

5、的部分model部分的每個(gè)條目的形式是: device-description=install-section-name,hw-id,compatible-id. device-description描述了設(shè)備模型的列表和一個(gè)短描述這個(gè)字符串在安裝的時(shí)候在對話框中提供給用戶因此它需要提供多種語言的文本 install-section-name的值參考DDInstall部分也描述了INF文件的另一個(gè)進(jìn)一步安裝的部分hw-id是硬件設(shè)備在PnP兼容的總線上聲明的時(shí)候返回的PnP標(biāo)識符號例如USBVID_045E&PID_00B標(biāo)識微軟HID(Human Input Device)的USB鍵盤設(shè)備c

6、ompatible-id可以是任何表示用于任何的包含在列表中的相同安裝腳本的數(shù)值 DDInstall 部分 它的名字獨(dú)一無二的指定從Models部分列出的每個(gè)制造商的每個(gè)模型 AddReg條目在語法上是必須的CopyFiles條目對于DDInstall部分是重要的它的形式是: CopyFiles=file-list-section,file-list-section. 或者 CopyFiles=filename 前者是更普通的版本它允許一個(gè)指向另一個(gè)包含一個(gè)安裝文件列表的部分的指針然而對于簡單的驅(qū)動程序的安裝可以直接的使用文件名 Entry Value DriverVer mm/dd/yyyy

7、,x,y,v,z必須的條目包含可選擇的版本號碼 CopyFiles 另一個(gè)指定需要復(fù)制的文件列表的部分或者一個(gè)單獨(dú)的有”為前綴的文件名 AddReg 必須的另一個(gè)包含需要的注冊表信息的部分 Include 指向其它的INF文件名指針列表 Needs Include條目的子集列出了它的INF文件中需要的部分 DelFiles 指定另一個(gè)需要刪除的文件列表的部分(一般是升級的目的) RenFiles 指定另一個(gè)需要重命名的文件列表的部分(一般是存儲安裝之前的狀態(tài)) DelReg 指定另一個(gè)需要刪除的系統(tǒng)注冊表信息的部分 ProfileItems 指定另一個(gè)需要更改系統(tǒng)開始菜單的部分 表15.2.

8、DDInstall部分條目 CopyFiles部分 INF文件的CopyFiles部分是唯一的名字并且CopyFiles的指示器在DDInstall部分它的條目的形式是: destination-filename,source-filename,temp-filename,flag 二進(jìn)制值 符號名 描述 0x0400 COPYFLG_REPLACEONLY 如果已經(jīng)有目標(biāo)文件則復(fù)制 0x0800 COPYFLG_NODECOMP 不解壓直接復(fù)制 0x0008 COPYFLG_FORCE_FILE_IN_USE 復(fù)制源文件為臨時(shí)的名字強(qiáng)制重新激活 重命名臨時(shí)文件 0x0010 COPYFLG_

9、NO_OVERWRITE 不替換已存在的文件 0x1000 COPYFLG_REPLACE_BOOT_FILE 文件是系統(tǒng)加載的一部分強(qiáng)制重新激活 0x2000 COPYFLG_NOPRUNE 強(qiáng)制復(fù)制甚至安裝者認(rèn)為不需要 0x0020 COPYFLG_NO_VERSION_DIALOG 不重寫更新的文件 0x0004 COPYFLG_NOVERSIONCHECK 總是重寫目標(biāo)文件 0x0040 COPYFLG_OVERWRITE_ OLDER_ONLY 重寫老的目標(biāo)文件 0x0001 COPYFLG_WARN_IF_SKIP 如果用戶跳過文件則警告 0x0002 COPYFLG_NOSKIP

10、 不允許用戶跳過文件 表15.3. CopyFiles flag的定義 destination-filename是需要復(fù)制的文件名如果與源文件名不同source-filename必須被指定temp-filename在WIN98中是為新文件指定一個(gè)中間的文件名直到系統(tǒng)重新激活對于WIN2000來說它是無用的 flag值指定新的目標(biāo)文件的部署這些值可以O(shè)R起來使它有多個(gè)性質(zhì)應(yīng)該確認(rèn)沒有互斥的項(xiàng)目 因?yàn)镃opyFiles條目的語法不包含指定源文件的磁盤或者路徑選項(xiàng)所以必須使用其它的INF文件的部分SourceDisksNames和SourceDisksFilesCopyFiles是復(fù)制的源文件名復(fù)制

11、的目標(biāo)則在DestinationDirs部分 AddReg部分 INF文件的AddReg部分是唯一的名字并且引用AddReg的指示器在DDInstall部分這個(gè)部分的目的是提供在系統(tǒng)注冊表中添加或者修改條目形式是 reg-root,subkey,value-name,flags,value reg-root是注冊表根的縮寫子鍵描述根鍵下的鍵名使用反斜線字符()分開子鍵例如SoftwareW2KDriverBook DriverSetting是有效的HKCU或者HKLM根鍵的子鍵 縮寫 意義 HKCR HKEY_CLASSES_ROOT HKCU HKEY_CURRENT_USER HKLM H

12、KEY_LOCAL_MACHINE HKU HKEY_USERS HKR 設(shè)備安裝的硬件子鍵 表15.4. AddReg reg-root縮寫的意義 value-name指定被添加或者修改注冊表值每個(gè)系統(tǒng)注冊表鍵包含零個(gè)或者多個(gè)不同數(shù)據(jù)類型的值注冊表編輯器在右邊的窗格列出了子鍵的值值的名字和值的數(shù)據(jù)也一起顯示出來左邊的窗格僅僅顯示子鍵flags指定數(shù)據(jù)的類型 二進(jìn)制值 符號 意義 0x00000 FLG_ADDREG_TYPE_SZ 以零為結(jié)束的字符串 0x00001 FLG_ADDREG_BINVALUETYPE 二進(jìn)制數(shù)據(jù) 0x00002 FLG_ADDREG_NOCLOBBER 不替換現(xiàn)

13、有的值 0x00004 FLG_ADDREG_DELVALUE 刪除子鍵或者值的名字 0x00010 FLG_ADDREG_KEYONLY 創(chuàng)建子鍵不顧值 0x00020 FLG_ADDREG_OVERWRITEONLY 如果值存在替換它否則什幺也不作 0x10000 FLG_ADDREG_TYPE_MULTI_SZ REG_MULTI_SZ值(數(shù)組) 0x00008 FLG_ADDREG_APPEND 附加到存在的REG_MULTI_SZ數(shù)組 0x20000 FLG_ADDREG_TYPE_EXPAND_SZ REG_EXPAND_SZ數(shù)據(jù) 0x10001 FLG_ADDREG_TYPE_D

14、WORD DWORD值 0x20001 FLG_ADDREG_TYPE_NONE REG_NONE值 表15.5. AddReg flags定義 系統(tǒng)注冊表對于驅(qū)動程序安裝的重要性將在后面討論 SourceDisksNames 部分 如果INF文件包含的驅(qū)動程序文件分布在多個(gè)磁盤上INF文件就必須包含Source-DisksNames部分這個(gè)部分包含文件分布的每個(gè)磁盤的人口 diskid=disk-description,tagfile,unused,path diskid是唯一的分配設(shè)置中的名字通常磁盤號從1開始disk-description是一個(gè)提示用戶合適的磁盤的字符串 tagfile

15、值有雙重的作用確定在安裝過程中用戶提供正確的磁盤tagfile值在安裝過程繼續(xù)進(jìn)行之前被檢驗(yàn)如果tagfile文件不存在用戶被重新提示插入正確的磁盤如果agfile值包含.CAB的擴(kuò)展名表示磁盤上的驅(qū)動程序文件是壓縮文件 path值是一個(gè)以root-relative為磁盤根目錄的驅(qū)動程序文件的路徑像tagfile值一樣是可選擇的 SourceDisksFiles 部分 INF文件必須包含一個(gè)SourceDisksFiles部分這個(gè)部分列出了在安裝驅(qū)動程序過程中使用的文件名每個(gè)文件都有相應(yīng)的條目 filename=diskid,subdir,size diskid值是一個(gè)SourceDisksN

16、ames部分指定的可以找到文件名的磁盤可選的subdir值指定文件的路徑可選的size值指定解壓縮文件的字節(jié)大小安裝過程使用這個(gè)數(shù)據(jù)在嘗試復(fù)制文件之前決定目標(biāo)系統(tǒng)是否適合安裝 DestinationDirs部分 這是個(gè)必須的提供目標(biāo)路徑的部分 file-list-section=dirid,subdir 或者 DefaultDestDir=dirid,subdir file-list-section是一個(gè)被CopyFiles的指示器喚起的部分它指定所有的被指示器復(fù)制的文件安裝到指定的路徑對于DefaultDestDir用于CopyFiles中所有的指示器通常與file-list-section

17、聯(lián)合使用 值 意義 12 %windir%system32drivers 對于 Windows 2000 %windir%systemIoSubsys 對于 Windows 98 10 %windir% 11 %windir%system32 對于 Windows 2000 %windir%system對于 Windows 98 30 根驅(qū)動器的根路徑 54 Windows 2000的根路徑 01 這個(gè)INF文件的路徑 17 INF文件的路徑 20 Fonts的路徑 51 假脫機(jī)的路徑 52 假脫機(jī)的驅(qū)動程序路徑 55 打印機(jī)處理機(jī)路徑 23 Color (ICM) -1 絕對路徑 21 Vi

18、ewers路徑 53 User Profile路徑 24 應(yīng)用軟件路徑 25 共享路徑 18 幫助路徑 16406 All UsersStart Menu 16407 All UsersStart MenuPrograms 16408 All UsersStart MenuProgramsStartup 16409 All UsersDesktop 16415 All UsersFavorites 16419 All UsersApplication Data 16422 Program Files 16427 Program FilesCommon 16429 All UsersTempla

19、tes 16430 All UsersDocuments 表15.6. DestinationDirsdirid定義 DDInstall.Services 部分 為了讓復(fù)制的文件在目標(biāo)系統(tǒng)中起驅(qū)動程序的作用必須通知服務(wù)控制管理器(SCM)在WIN2000中安裝的每個(gè)驅(qū)動程序在注冊表的HKLMSystemCurrentControlSetServices下面ServiceType值是1表示內(nèi)核模式的驅(qū)動程序StartType指出在系統(tǒng)引導(dǎo)過程中在何時(shí)加載驅(qū)動程序ErrorControl值決定在驅(qū)動程序加載的過程中如果遇到錯誤后如何是好ServiceBinary值指出驅(qū)動程序的位置(.SYS文件)

20、但是可能會被遺漏如果二進(jìn)制文件在%windir%system32drivers路徑并且與HKLM.Services下面的子鍵名的名字相同的時(shí)候就發(fā)生這種情況 DDInstall.Services部分條目的形式是 AddService=ServiceName,flags,service-install- section,eventlog-install-section ServiceName描述服務(wù)的名字典型的是驅(qū)動程序的名字(沒有.SYS擴(kuò)展名)二進(jìn)制值 符號名 意義 0x0002 ASSOCSERVICE 驅(qū)動程序是一個(gè)FDO不是濾波驅(qū)動程序 0x0008 NOCLOBBER_DISPLAY

21、NAME 不重寫friendly名字 0x0100 NOCLOBBER_DESCRIPTION 不重寫Description 0x0010 NOCLOBBER_STARTTYPE 不重寫starttype 0x0020 NOCLOBBER_ERRORCONTROL 不重寫錯誤控制 表15.7. AddService flags定義 service-install部分和可選的eventlog-install部分喚起附加的控制服務(wù)值條目的INF部分(例如ServiceType和StartType) ServiceInstall 部分 ServiceInstall部分它的名字在DDInstall.S

22、ervices部分的AddService條目中唯一指定控制和安裝驅(qū)動程序到服務(wù)控制管理器 條目 值 DisplayName 驅(qū)動程序的Friendly名字顯示在設(shè)備管理器中 Description 簡短的描述驅(qū)動程序或者服務(wù)的目的顯示在設(shè)備管理器中 ServiceType 驅(qū)動程序類型: 0x01 -內(nèi)核驅(qū)動程序0x02 -文件系統(tǒng)驅(qū)動程序 StartType 何時(shí)驅(qū)動程序加載: 0 -引導(dǎo)時(shí)1 -系統(tǒng)開始時(shí) 2 -系統(tǒng)開始后自動加載3 -需要時(shí)手動4 -禁止使用 ErrorControl 驅(qū)動程序加載時(shí)錯誤部署: 0 -忽視所有錯誤1 -顯示錯誤給用戶 2 -使用最后的良好狀態(tài)重新激活忽視錯

23、誤 3 -使用最后的良好狀態(tài)重新激活調(diào)試錯誤 ServiceBinary 驅(qū)動程序的全路徑名可能包含dirid值 表15.8. ServiceInstall 部分條目 INF 例子 前面介紹的INF文件好象非常復(fù)雜這里使用一個(gè)例子說明它在下面的例子中INF控制一個(gè)由兩個(gè)文件組成的驅(qū)動程序Launcher.SYS被復(fù)制到系統(tǒng)的驅(qū)動程序路徑Launcher.HLP被復(fù)制到系統(tǒng)的幫助路徑(例如 WINNTSystem32Drivers和WINNTHelp) Version Signature=$Windows NT$ Class=Missiles ClassGUID=C9B3D080-6889-11

24、d4-93FC-444553540000 Provider=W2KDriverBook DriverVer=07/04/2000,1.00.2468.1 ; 注釋在分號(;)后面 DestinationDirs ; 指定文件復(fù)制的目的地 DefaultDestDir=12 ; %windir%system32drivers CopyLaunchHelp=18 ; standard help directory Manufacturer W2KDriverBook=MyMfgName ; 喚起model部分 MyMfgName ; 開始一個(gè)Models部分 ISA Missile Launche

25、r=InstallLauncher,ISALauncher ; 我們的設(shè)備列表 InstallLauncher ; 開始DDInstall 部分 CopyFiles=CopyLaunchFiles ; 喚起CopyFiles 部分. CopyFiles=CopyLaunchHelp ; 另一個(gè)是help的 AddReg=LaunchRegSection ; 喚起AddReg 部分 CopyLaunchFiles ; 開始CopyFiles部分 Launcher.sys CopyLaunchHelp ; Help文件的CopyFiles部分 Launcher.hlp LaunchRegSecti

26、on ; 開始AddReg 部分 HKR,Parameters,Coordinates,FLG_ADDREG_TYPE_DWORD,0 ; 給設(shè)備提供一個(gè)是0的DWORD值 SourceDisksNames ; 這個(gè)部分不是真的需要 1=Missile Launcher Driver Files ; 因?yàn)橹挥袃蓚€(gè)文件并且在同一個(gè)磁盤上 SourceDisksFiles Launcher.sys=1 ; 類似的因?yàn)樗鼈冊谕粋€(gè)磁盤上 Launcher.hlp=1 ;所以不是真正的需要這個(gè)部分 InstallLauncher.Services ; DDInstall.Services部分 AddS

27、ervice=Launcher,2,LaunchService LaunchService ; 設(shè)置SCM這樣驅(qū)動程序就可以運(yùn)行了 ServiceType=1 ; 驅(qū)動程序 StartType=3 ; 需要時(shí)手動加載 ErrorControl=1 ; 匯報(bào)錯誤 ServiceBinary=%12%Launcher.sys ; 驅(qū)動程序路徑 使用INF文件 一旦驅(qū)動程序的INF創(chuàng)建完成必須處理它使它有用 手動安裝 手動的處理INF文件必須使用Windows的文件管理器選擇INF文件右擊這個(gè)文件選擇安裝 在真正的即插即用環(huán)境中插入或者移除設(shè)備觸發(fā)相應(yīng)的驅(qū)動程序的安裝加載和卸載因此保留手動的安裝是為

28、了最初的測試和調(diào)試驅(qū)動程序 自動安裝 當(dāng)一個(gè)即插即用的設(shè)備被插入到一個(gè)系統(tǒng)數(shù)個(gè)子系統(tǒng)相互作用來加載新的驅(qū)動程序 1. 當(dāng)設(shè)備被插入硬件使用自動偵測和自動配置告訴總線驅(qū)動程序設(shè)備出現(xiàn)依賴于總線硬件這可能涉及通知總線驅(qū)動程序一個(gè)新的總線設(shè)備列舉發(fā)生在這一步的最后驅(qū)動程序發(fā)現(xiàn)新的設(shè)備出現(xiàn)并且有一個(gè)指定的設(shè)備ID 2. 內(nèi)核模式PnP管理器通知用戶模式PnP管理器一個(gè)新的有一個(gè)指定ID的設(shè)備出現(xiàn)在系統(tǒng)中 3. 用戶模式PnP管理器使用WIN2000的Setup API庫為新的設(shè)備提供一個(gè)類似的驅(qū)動程序列表為了合適的驅(qū)動程序系統(tǒng)使用新設(shè)備的class和model查找系統(tǒng)的INF目錄(例如WINNTINF

29、) 4. 如果不能找到合適的INF文件系統(tǒng)不進(jìn)行進(jìn)一步的動作直到一個(gè)有特權(quán)的用戶進(jìn)入系統(tǒng)用戶被提供一個(gè)新的硬件向?qū)в脩籼峁?qū)動程序的位置和合適的INF文件位置 5. 一旦找到INF文件它被使用CfgMgr API庫處理驅(qū)動程序文件和注冊表?xiàng)l目被安裝和修改內(nèi)核模式的PnP管理器主要執(zhí)行這個(gè)步驟 6. 基于INF文件的指導(dǎo)內(nèi)核模式PnP管理器加載任何低層的濾波驅(qū)動程序然后是functional驅(qū)動程序最后是高層的驅(qū)動程序在堆棧中的高層的驅(qū)動程序然后發(fā)送適當(dāng)?shù)腜nP信息包括IRP_MN_START_DEVICE. 添加/移除硬件向?qū)?在安裝過程中主要的與用戶的交互是添加新硬件向?qū)ё⒁庥幸粋€(gè)制造商的列

30、表(來自于INF文件的Manufacturers部分)和Models列表(來自于INF文件的Models部分) 通常用戶手動選擇適當(dāng)?shù)尿?qū)動程序去安裝和加載如果驅(qū)動程序被安裝它的DriverEntry和AddDevice例程必須仍然有效這樣使請求驅(qū)動的硬件滿意新代碼的設(shè)置換句話說手動的選擇可能成功的安裝但是初始化是失敗的 Class名字和設(shè)備IDs 即插即用設(shè)備自動安裝的過程很大程度上依賴安裝程序的定位合適驅(qū)動程序的INF文件和文件中各個(gè)部分的能力這個(gè)部分文章的目的是解釋Class名字和設(shè)備Ids還有定位INF文件的過程 每個(gè)即插即用設(shè)備應(yīng)該有一個(gè)唯一的指定硬件模型的標(biāo)識符號因此提供設(shè)備ID給即

31、插即用總線硬件和總線驅(qū)動程序當(dāng)然總線驅(qū)動程序在新的設(shè)備被插入后的很短時(shí)間內(nèi)請求設(shè)備ID設(shè)備ID的形式與總線類型有關(guān)但是一般看起來是: (例如PCIVEN_1000&DEV_0001&SUBSYS_00000000&REV_02) 對于驅(qū)動程序代碼一個(gè)硬件設(shè)備可能匯報(bào)多個(gè)設(shè)備ID它是設(shè)備功能上的與很多models兼容的陳述因?yàn)镮NF文件的Models部分包含一個(gè)hw-id值所以尋找與新安裝的設(shè)備返回的設(shè)備ID相匹配的INF文件中的條目非常簡單同樣的INF條目允許相兼容硬件的列表的規(guī)范有附加的設(shè)備Ids形式如果設(shè)備ID不能在INF文件中定位精確的匹配就使用兼容的ID 另一個(gè)為設(shè)備定位合適的驅(qū)動程序

32、的關(guān)鍵元素是安裝類(Setup Class)的觀念一系列相關(guān)的設(shè)備可以共享分層的驅(qū)動程序 (例如upper或者lower濾波器)甚至在堆棧中個(gè)別的驅(qū)動程序安裝類被GUID 和name唯一的標(biāo)識微軟定義了一系列驅(qū)動程序類新的類可能被定義新的硬件組創(chuàng)建新的組之前必須選擇一個(gè)新的GUID和class名字 類名 意義 GUID 1394 1394火線控制器 6bdd1fc1-810f-11d0-bec7-08002be2092f Battery 電池設(shè)備 72631e54-78a4-11d0-bcf7-00aa00b7b32a CDROM CD-ROM設(shè)備 4d36e965-e325-11ce-bfc

33、1-08002be10318 DiskDrive 磁盤設(shè)備 4d36e967-e325-11ce-bfc1-08002be10318 Display 顯示適配器 4d36e968-e325-11ce-bfc1-08002be10318 FloppyDisk 軟盤控制器 4d36e980-e325-11ce-bfc1-08002be10318 HDC 硬盤控制器 4d36e96a-e325-11ce-bfc1-08002be10318 HIDClass 人性化的輸入設(shè)備 745a17a0-74d3-11d0-b6fe-00a0c90f57da Image 成像設(shè)備 6bdd1fc6-810f-1

34、1d0-bec7-08002be2092f Infrared IrDA設(shè)備 6bdd1fc5-810f-11d0-bec7-08002be2092f Keyboard 鍵盤 4d36e96b-e325-11ce-bfc1-08002be10318 MTD 存儲器技術(shù)驅(qū)動程序 4d36e970-e325-11ce-bfc1-08002be10318 Media 多媒體設(shè)備 4d36e96c-e325-11ce-bfc1-08002be10318 Modem 調(diào)制解調(diào)器 4d36e96d-e325-11ce-bfc1-08002be10318 Monitor 監(jiān)視器 4d36e96e-e325-1

35、1ce-bfc1-08002be10318 Mouse 鼠標(biāo)器 4d36e96f-e325-11ce-bfc1-08002be10318 Multifunction 多功能設(shè)備 4d36e971-e325-11ce-bfc1-08002be10318 Network 網(wǎng)絡(luò)適配器 4d36e972-e325-11ce-bfc1-08002be10318 NetClient 網(wǎng)絡(luò)客戶機(jī) 4d36e973-e325-11ce-bfc1-08002be10318 NetService 網(wǎng)絡(luò)服務(wù)器 4d36e974-e325-11ce-bfc1-08002be10318 NetTrans 網(wǎng)絡(luò)傳輸 4d

36、36e975-e325-11ce-bfc1-08002be10318 PCMCIA PCMCIA適配器 4d36e977-e325-11ce-bfc1-08002be10318 Ports 端口(COM & LPT) 4d36e978-e325-11ce-bfc1-08002be10318 Printer 打印機(jī)設(shè)備 4d36e979-e325-11ce-bfc1-08002be10318 Volume 存儲卷 71a27cdd-812a-11d0-bec7-08002be2092f System 系統(tǒng)設(shè)備 4d36e97d-e325-11ce-bfc1-08002be10318 USB USB 36fc9e60-c465-11cf-8056-444553540000 表15.9. 安裝類: 名字和GUIDs 自定義安裝 驅(qū)動程序一般提供兩個(gè)定制驅(qū)動程序安裝的信息第一提供一個(gè)自定義的安裝程序代替新硬件安裝程序?yàn)榱颂峁┻@個(gè)功能自定義的安裝程序需要使用SETUPAPI.DLL提供的例程這個(gè)庫中的每個(gè)函數(shù)的形式是SetupDiXxxDDK提供使用這個(gè)庫的詳細(xì)資料 第二驅(qū)動程序可以提供一個(gè)自定義

溫馨提示

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

評論

0/150

提交評論