熱搜關(guān)鍵詞: PCIe高速數(shù)據(jù)采集卡高速采集卡高速數(shù)據(jù)采集軟件無線電平臺(tái)VPX高速數(shù)據(jù)采集卡高速信號(hào)采集卡PCIe數(shù)據(jù)采集數(shù)字信號(hào)處理
64位系統(tǒng)的INF需求
WindowsServer2003SP1和更高的Windows版本不會(huì)在x64系統(tǒng)上安裝帶有未修飾INF節(jié)的驅(qū)動(dòng)程序包,。為了與IntelItanium系統(tǒng)兼容,WindowsServer2003SP1將會(huì)安裝帶有未修飾INF節(jié)的驅(qū)動(dòng)程序軟件包,;但是,,INF修飾是Windows硬件徽標(biāo)計(jì)劃的要求,因此帶有未修飾INF節(jié)的驅(qū)動(dòng)程序包沒有資格獲得該徽標(biāo),。
本文描述影響64位非x86系統(tǒng)(IntelItanium和AMD64)上的設(shè)備安裝的INF需求變化,。在本文中,"x64"指在AMD64和Intel擴(kuò)
展內(nèi)存64技術(shù)系統(tǒng)中使用的64位體系結(jié)構(gòu),。
為了防止用戶將基于INF的設(shè)備驅(qū)動(dòng)程序包安裝到錯(cuò)誤的系統(tǒng)上,,并幫助制造商避免相關(guān)聯(lián)的支持成本,對(duì)WindowsServer2003SP1的INF語法要求進(jìn)行了如下修改:
WindowsServer2003SP1和更高Windows版本上的驅(qū)動(dòng)程序INF文件必須使用.ntia64或.ntamd64正確修飾[Manufacturer]節(jié)和[Models]節(jié)名稱中的條目,以指定非x86系統(tǒng)上的操作系統(tǒng)版本,。此更改不會(huì)影響基于x86的系統(tǒng)的INF文件或非PnP驅(qū)動(dòng)程序的INF文件(包括基于x64的體系結(jié)構(gòu)的文件系統(tǒng)驅(qū)動(dòng)程序INF文件),。
INF修飾如何影響驅(qū)動(dòng)程序包的安裝
當(dāng)INF節(jié)名稱包含標(biāo)識(shí)特定平臺(tái)和操作系統(tǒng)的TargetOSVersion后綴時(shí),認(rèn)為INF節(jié)是有修飾的,。修飾節(jié)包含僅與TargetOSVersion指定的平臺(tái)和操作系統(tǒng)相關(guān)的安裝信息,。
WindowsServer2003和早期版本的安裝行為
本節(jié)描述在安裝過程中,操作系統(tǒng)如何處理原始發(fā)布版MicrosoftWindowsServer2003和早期Windows版本的修飾和未修飾INF,。下面的示例展示了典型的未修飾[Manufacturer]節(jié)和[Models]節(jié)名稱在設(shè)備驅(qū)動(dòng)程序包INF文件中可能的外觀:
[Manufacturer]%mycompany%=MyCompanyModels
[MyCompanyModels]%MyDev%=mydevInstall,mydevHwid
此示例未使用TargetOsVersion修飾,。WindowsServer2003和早期Windows版本的設(shè)備匹配語法規(guī)則允許將這些語句解析為安裝到任意平臺(tái)。理想情況下,,用戶無法選擇安裝此設(shè)備包,,除非確信該包擁有正確的二進(jìn)制文件,但是此INF文件不會(huì)阻止這類安裝,。
下面的例子給出了相同的[Manufacturer]節(jié)和[Models]節(jié)名稱,,這些節(jié)名稱都帶有TargetOSVersion修飾,該修飾指定基于x64的平臺(tái),。其中,,"x64"指AMD64和Intel擴(kuò)展內(nèi)存64技術(shù)系統(tǒng)使用的64位體系結(jié)構(gòu)。INF中的.ntamd64修飾用于所有基于x64的系統(tǒng),。
[Manufacturer]%mycompany%=MyCompanyModels,NTamd64
[MyCompanyModels.NTamd64]%MyDev%=mydevInstall,mydevHwid
安裝此驅(qū)動(dòng)程序包時(shí),,INF解析器生成一個(gè)包含該修飾的節(jié)名稱,然后檢查該節(jié)名稱是否適用于目標(biāo)平臺(tái),。如果適用,,INF解析器在INF文件中查找該節(jié)名稱并使用該節(jié)(如果存在)。
在WindowsServer2003和早期的Windows版本上,,如果沒有修飾節(jié),,INF解析器會(huì)檢查所有未修飾節(jié),以找到一個(gè)匹配的節(jié),。因?yàn)檫@些修飾并不常用,,所以如果有一個(gè)匹配的設(shè)備,PnP會(huì)嘗試將驅(qū)動(dòng)程序安裝到錯(cuò)誤的平臺(tái)上,。
WindowsServer2003SP1及更高版本的64位非x86平臺(tái)的安裝行為
在WindowsXP和原始發(fā)布版的WindowsServer2003上,,如果指定了修飾節(jié)名稱,INF解析器將使用該修飾節(jié)名稱,;否則使用未修飾節(jié),。但是,在WindowsServer2003SP1和更高版本中,,INF解析器不會(huì)在基于x64的平臺(tái)上查找未修飾節(jié)名稱,。
在運(yùn)行WindowsServer2003SP1及更高版本的非x86平臺(tái)上,,INF解析器需要[Models]節(jié)名稱的TargetOsVersion修飾。例如,,如果用戶試圖在基于x64的系統(tǒng)上安裝未修飾的驅(qū)動(dòng)程序包,,PnP將不會(huì)找到有修飾的[Models]名稱,因此不會(huì)嘗試匹配任何設(shè)備ID,。
注意:使用未修飾INF的存儲(chǔ)驅(qū)動(dòng)程序初會(huì)使用F6加載,,但是當(dāng)系統(tǒng)在后一次設(shè)置GUI模式之后重新啟動(dòng)時(shí),會(huì)生成檢測(cè)錯(cuò)誤7B,。因?yàn)镕6運(yùn)行機(jī)制未使用SetupAPI邏輯加載存儲(chǔ)驅(qū)動(dòng)程序,。要安裝這類驅(qū)動(dòng)程序,可以獲取使用64位INF修飾的更新版本的驅(qū)動(dòng)程序,,或者手動(dòng)修飾INF(本文稍后的“在基于x64的系統(tǒng)上安裝未修飾INF”一節(jié)將會(huì)描述),。檢測(cè)錯(cuò)誤7B無法恢復(fù);必須按照描述的方法更新存儲(chǔ)驅(qū)動(dòng)程序,,并使用F6重新啟動(dòng)安裝過程,。
多平臺(tái)INF文件
可以使INF文件包含基于x64和Itanium系統(tǒng)的修飾節(jié),也可以包含未修飾節(jié)或基于x86的系統(tǒng)的ntx86修飾節(jié),,這樣可以創(chuàng)建多平臺(tái)INF文件。
注意:帶有修飾INF的驅(qū)動(dòng)程序包不會(huì)安裝在Windows2000上,。修飾是在WindowsXP上首次實(shí)現(xiàn)的,。
可以采用兩種方法來支持多平臺(tái)驅(qū)動(dòng)程序包:
•方法1:為每個(gè)平臺(tái)提供一個(gè)單獨(dú)的INF
•方法2:為所有支持的平臺(tái)提供一個(gè)多平臺(tái)INF
優(yōu)先采用方法1,因?yàn)樵摲椒ǖ腫Models]節(jié)名稱上少僅需一個(gè)修飾,。如果采用方法2,,INF解析器將提供可用的語法來修飾不同的節(jié)并創(chuàng)建一個(gè)INF。但是,,生成的INF比較復(fù)雜并且可能難以維護(hù),。
下面的示例給出一個(gè)多平臺(tái)INF。
[Manufacturer]%mycompany%=MyCompanyModels,NTx86,NTia64
[MyCompanyModels.NTx86]%MyDev%=mydevInstallx86,mydevHwid
[MyCompanyModels.NTia64]%MyDev%=mydevInstallia64,mydevHwid
INF還可以在[Version]節(jié)中包含修飾的CatalogFile條目,。有關(guān)新信息,,請(qǐng)參閱WDK文檔中的“為多個(gè)平臺(tái)和操作系統(tǒng)創(chuàng)建INF文件”。
在基于x64的平臺(tái)上安裝未修飾INF
以下方法可用于在x64系統(tǒng)上安裝未修飾INF,。這些解決方法只適用于測(cè)試系統(tǒng),,不建議用于產(chǎn)品驅(qū)動(dòng)程序。
方法1.關(guān)閉AMD64的未修飾模型檢測(cè),。想要僅關(guān)閉針對(duì)AMD64系統(tǒng)的未修飾模型檢測(cè),,可以創(chuàng)建下面的注冊(cè)表非零數(shù)字值。
HKLM\Software\Microsoft\Windows\CurrentVersion\Setup:REG_DWORD:DisableDecoratedModelsRequirement
將該鍵設(shè)為非零值(例如1)并重新啟動(dòng)系統(tǒng),,然后安裝驅(qū)動(dòng)程序,。
方法2:編輯INF以添加修飾,。可以按照本文所述的方法手動(dòng)向INF添加修飾,,或者仿照其他64位驅(qū)動(dòng)程序包的修飾INF手動(dòng)向INF添加修飾,。這將破壞簽名驅(qū)動(dòng)程序的簽名,但是允許安裝驅(qū)動(dòng)程序(取決于本地機(jī)器上的簽名驅(qū)動(dòng)程序策略),。
若您有高速數(shù)據(jù)采集板卡定制需求,,請(qǐng)聯(lián)系我們:400-000-4026
關(guān)于坤馳科技:
坤馳科技是專注于高速數(shù)據(jù)采集與信號(hào)處理、高速數(shù)據(jù)存儲(chǔ)與記錄的高科技公司,。坤馳科技為用戶提供成熟的標(biāo)準(zhǔn)高速數(shù)據(jù)采集產(chǎn)品與技術(shù),,也可為用戶提供定制化的高速信號(hào)采集解決方案。目前坤馳科技服務(wù)過的研究所,、科研單位已達(dá)近百家,。高速數(shù)據(jù)采集產(chǎn)品線涵蓋PCIExpress、cPCI,、PXIe,、VPX、USB等總線,,包含高速AD,、DA平臺(tái)、FPGA,、DSP處理平臺(tái),,SATA/SSD、Flash存儲(chǔ)平臺(tái)等,。
全國咨詢電話:400-000-4026
公司官方網(wǎng)站:http://jtyykv.cn