久久精品国产自清天天线_日韩插啊免费视频在线观看_精品人妻一区二区三区浪潮在线_无码人妻AV一区二区三区蜜臀

INF 驗證錯誤和警告

本主題介紹(shao)驅(qu)動(dong)程序(xu)安裝(zhuang)錯誤和警告可以顯示作為自(zi)動(dong) INF 驗(yan)證結果(guo),Microsoft Visual Studio 執行或運行時(shi)InfVerif工具。

Visual Studio 2015 with WDK 10 在(zai)生成您(nin)的驅(qu)動程(cheng)序(xu)時,以(yi)下(xia)的 INF 文件錯誤可以出現(xian)在錯誤列表(biao)窗格。 如果從命令行運行 InfVerif.exe,工具會在命令提(ti)示符下或結果的 HTML 版本中顯示這些錯誤。

錯誤的指南

InfVerif 如下所示的(de)常規(gui)規(gui)則,較低的(de)錯誤號、 更嚴重問題。 大多數的(de)錯(cuo)誤代碼可以是一條警告或錯(cuo)誤具體取(qu)決于提供給 InfVerif 的(de)參數。

處理錯(cuo)誤

若要通(tong)過硬件(jian)開發人(ren)員(yuan)中心儀表板(ban)上的(de)驅動程序測試,必須修復所有錯(cuo)誤(wu)。 錯(cuo)誤(wu)與以下條件(jian):

  • INF 分(fen)析器是(shi)無法(fa)成功解釋您 INF

  • INF 分析器(qi)是能(neng)夠解釋 INF 只能(neng)通(tong)過(guo)進行(xing)默(mo)認值假(jia)設(she) (不明確的語法)

  • InfVerif 的參數(shu)指(zhi)示規則(ze)集,應該應用于(yu) INF (如通用)

而無需(xu)提交(jiao)您(nin)的(de)驅(qu)動程序(xu)開(kai)發人員中心上(shang)之前修復(fu)警告,建議(yi)花時間去(qu)理解(jie)報告的(de)問題(ti)。 如果不(bu)了解(jie)給定的(de)警告,你 INF 可能不(bu)始(shi)終按預期工作。

警(jing)告(gao)通(tong)常與相關(guan):

  • 它(ta)可能(neng)不正確,但具有(you)有(you)效情況下,在相應(ying)的語(yu)法(fa)

  • 為(wei)給定的(de) InfVerif 參數(shu)有效,但在其他模(mo)式下,例如通用錯誤的(de)語法

如果,則(ze)將(jiang)顯示與通用(yong)設置相關(guan)的問題的錯誤為:

  • 在 Visual Studio 中(zhong),你(ni)構建(jian)您的驅動程序與目標平(ping)臺設置(zhi)為通用或移動。

  • 從命令行運行 InfVerif.exe,并指(zhi)定 /u 標(biao)志。

與通用設置相關的問(wen)題顯(xian)示為(wei)警(jing)告,如果:

  • 在 Visual Studio 中,你(ni)構建您(nin)的驅動程序與目(mu)標平臺(tai)設置(zhi)為桌面。

  • 從命令行運行 InfVerif.exe 和(he)未指定(ding) /u 標志。

錯誤代碼

錯誤(wu)代碼分為(wei)以下分類(lei):

  • INF 文件 (1100- 1299) 中的語法

  • 通用 INF (1300- 1319)

  • 安(an)裝(zhuang) (2000-2999)

并(bing)非所有錯誤代碼下面都列出了,因(yin)為不證自明的許(xu)多(duo)含義。 1000-1099范(fan)圍內的錯誤被視為不證自明的因(yin)為它們是基本語法(fa)錯誤。

INF 文件 (1100- 1299) 中(zhong)的語法

雖然 InfVerif 失敗意味著驅動程序提交失敗,仍然可能會成功安裝驅動程序。 這是因為在安裝驅動程序,如果錯誤是 INF 文件中存在,Windows 還會嘗試設置的默認值。 Windows 不會由于此范圍內的錯誤的驅動程序安裝失敗,但在此范圍內的錯誤指示行為可能會更改具體取決于 OS 版本或 SKU。 在其中該驅動程序安裝成功的情況下,這些錯誤指示存在情況下,該驅動程序可能無法正確安裝。

錯誤(wu)代碼

描述

1100:DriverStore Copyfile 名稱不匹配

復(fu)制(zhi)或(huo)從其原始的(de)驅(qu)動程序存儲區名稱(cheng)和位置重(zhong)命名為不同的(de)名稱(cheng)和位置中的(de)驅(qu)動程序文(wen)件(jian)時,將出現此錯誤。 例如:

[SourceDisksFiles]

DriverFile.sys=1,x64   

[DestinationDirs]

CopyFileSection=13,SubDirectory

 

[CopyFileSection]

DriverFile.sys

驅動程序(xu)存(cun)儲區維護原始(shi)的(de)驅動程序(xu)包(bao)目錄結構。 在(zai)上面的(de)代碼中(zhong),是 DriverFile.sys 的(de)原始(shi)位(wei)(wei)置INF 位(wei)(wei)置d,但 CopyFiles 指令(ling)將(jiang)其放入INF 位(wei)(wei)置SubDirectory。 將(jiang)該文件已重命名為副(fu)本(ben)的(de)一部(bu)分顯示的(de)相同(tong)錯(cuo)誤。

1203:找(zhao)不到的部分

例(li)如,以下 INF 語法會導(dao)致錯誤(wu) 1203年:

[MyInstallSection]

CopyFiles=driverFile.sys

會報告此錯誤,因為CopyFiles指令需要一個部分名稱 (用于指定要復制的文件列表)。 但是, CopyFiles指令可以指定文件的名稱。 若要區分節名稱和文件名稱,前面加上文件名包含 @ 令牌如下所示:

[MyInstallSection]

CopyFiles=@driverFile.sys

1204:提供程序不能為 Microsoft

[Version] 部分中(zhong)的提供程序字段(duan)不能指定 Microsoft。

[Version]

Signature="$Windows NT$"

Class=Sample

ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}

Provider="Microsoft"

1205:從 [Directive1] 引用部分 [Driver_files] 和 [Directive2] 指令

每當兩個不同的指(zhi)令指(zhi)向同一部分時(shi),會生成(cheng)此警(jing)告。

請注意,盡管(guan)在大多數情況下(xia)這(zhe)一(yi)點(dian),實際上,出現錯誤,在某些情況下(xia) 1205年報告即使條件正是目的也(ye)是如此(ci)。

1212:不(bu)能有兩(liang)個 [DefaultInstall] 和 [制造(zao)商]

單(dan)個 INF 不(bu)能包(bao)含這兩個 [DefaultInstall]   和 [制造(zao)商]。 使(shi)用同時創作 Inf 應刪除其中一(yi)個的(de)兩個部分。

1220:不能直接引用定義中包含(han)的 INF 部分

如果您的 INF 文件引用DDInstall部分中包含的 INF,必須使用需要指令。 引用一個部分中包含的 INF 的任何其他指令會導致錯誤 1220年。

在(zai)此(ci)示(shi)例中(zhong),A.INF 的(de)安裝(zhuang)部(bu)(bu)分(fen)引用中(zhong) B.INF 等效(xiao)安裝(zhuang)部(bu)(bu)分(fen)。

A.INF 包含:

A.INF

[InstallSectionA]

Include = B.INF

Needs = InstallSectionB

AddReg = AddRegB ; WARNING 1220

[InstallSectionA.Services]

Include = B.INF

Needs = InstallSectionB.Services

B.INF 包含:

B.INF

[InstallSectionB]

AddReg = AddRegB

[InstallSectionB.Services]

...

[AddRegB]

...

需要指令必須引用來處理在安裝部分中的等效安裝部分。 例如,[InstallSectionA.Services] 中的需求指令應指向。另一個安裝部分的服務。 需要指令還可用于添加另一個 DDInstall 部分中的相同 INF 此行為。 使用需要指令在其他類型的部分可能會導致意外行為。

1221:不能修改服務注冊密鑰(yao),必須使用 HKR

此錯誤表示 INF 文件,例如引用在服務注冊表項的位置HKLMSYSTEMCurrentControlSetServices<em>服務名稱。 當訪問服務密鑰,則應改用相對的根 (HKR) 能夠在設備或驅動程序實例相關聯的注冊表值。

當你使用HKR,注冊表值將不會顯示之前安裝該設備。

1230:缺少(shao)文(wen)件 [SourceDisksFiles] 部(bu)分下的 xxxx。

這(zhe)表示(shi)為驅動程(cheng)序包的一部分(fen)(fen)指(zhi)定(ding)了文件,但在 [SourceDisksFiles] 部分(fen)(fen)中未(wei)指(zhi)定(ding)相(xiang)對(dui)于 INF 文件的源位置。

[SourceDisksFiles]

filename=disk id

請注意,如果(guo)指定的 [SourceDisksFiles] 修(xiu)飾體(ti)(ti)系結構(gou)的版本(ben),經(jing)常發(fa)生此錯誤 (如 [SourceDisksFiles.amd64],但(dan)并非所有(you)體(ti)(ti)系結構(gou)支(zhi)持(chi)的 INF 具有(you) [SourceDisksFiles] 部分。

1233:缺少指(zhi)令(ling)所需的簽名

在 [Version] 部(bu)分中,必須指定一個   CatalogFile 指令 (和(he)關聯的目(mu)錄文件) 以(yi)接收簽(qian)名驅動程序包上。

CatalogFile=wudf.cat

1235:字符(fu)串 [Strings] 中未定義的標記

指定的字符串標記有 [Strings] 部分中沒有定義。 例如,INF 文件指定%reg_dword%添加注冊表部分指定的 AddReg 指令,但沒有沒有相應的 REG_DWORD = 中的 0x00010001 [Strings]部分。

如(ru)果您(nin)的 INF 文件指定一個包含環境變量的注冊(ce)表值(zhi),通常(chang)會出現此(ci)錯誤。 例如(ru):

[MyAddReg]

HKR,,DllPath,%SystemRoot%System32myDll.sys

此行(xing)會導(dao)致 INF 分析器嘗試找到令牌"SystemRoot"從(cong) [Strings] 部分中,而(er)不是(shi)在(zai)注冊表中存儲(chu)文本(ben)(ben)"%systemroot%"的(de)預期的(de)行(xing)為。 若要使用的(de)文本(ben)(ben)值 %systemroot%而(er)不是(shi)執(zhi)行(xing)字符串替(ti)換,請(qing)使用轉義(yi)序列 %%。

[MyAddReg]

HKR,,DllPath,%%SystemRoot%%System32myDll.sys

1285:不能(neng)指定 [ClassInstall32] 部分,了解 Microsoft 定義的類。

從(cong) Windows 10 開始(shi) IHV 提供 Inf 不允(yun)許(xu)使用 [ClassInstall32] 中的任(ren)何 Microsoft 定義的類 INF。

1296:指(zhi)定與硬件無關的(de)服務

從 Windows 10,版本 1809,開(kai)始這已(yi)從警(jing)告變為錯誤。 。服務部分所需的(de)(de)每(mei)個定義的(de)(de)目標操作(zuo)系統。 這是很好的(de)(de)做(zuo)法,適用(yong)于所有 Inf 和不只(zhi)是 1809年。

如果您以前(qian)不包括本部(bu)分中沒有提供的(de)服(fu)(fu)務(wu),因此所依賴的(de)收件(jian)箱驅動(dong)程序(xu)服(fu)(fu)務(wu),然后您可(ke)能需要創建。服(fu)(fu)務(wu)引用使用需求(qiu)的(de)收件(jian)箱 INF 服(fu)(fu)務(wu)并包含語句的(de)部(bu)分。

例如:INF 文件可以得到(dao)如下結果。服務(wu)為(wei)每個 OS 目標,若要解(jie)決(jue)此錯誤的部分(fen)。

[XXXXXXXX.Install.NTx86.Services]

Include=filename.inf

Needs=inf-section-name.Services

對于不需要功能驅動(dong)程序的設備,可以按如下所示指定 NULL 驅動(dong)程序:

AddService = ,2.

僅應(ying)使用此 INF 安裝的(de)(de)(de)非功能性的(de)(de)(de)設備,若要指(zhi)定不需(xu)要的(de)(de)(de)驅動程序的(de)(de)(de)這種情況(kuang)。

通用 INF (1300- 1319)

 重要

驅(qu)動(dong)程序 INF 文件是通用如果范圍(wei) 13 中未收到任何錯誤(wu)或警告,且錯誤(wu)編號xx

INF 可(ke)配置(zhi)性相(xiang)關的以下錯(cuo)誤和(he)警告:

錯誤/警告代碼

描述

1300:找到舊Xxx

如果你使用不推薦使用的部分或指令如,將看到此錯誤 LogConfig  DDInstall.CoInstallers

1301:找到舊Xxx操作Xxx

如果你使用不推薦使用的部分或指令如,將看到此錯誤 LogConfig  DDInstall.CoInstallers

1302:找到舊(jiu)Xxx操作Xxx

該操(cao)作會影響外(wai)部驅動程序包(bao),如刪除(chu)服務或刪除(chu)文件的(de)內容時發生此(ci)錯誤(wu)。

1303:找到舊(jiu)定義(yi)共同(tong)安裝程序(xu)的(de)操(cao)作(zuo)

錯誤 1303年表(biao)示 AddReg 操作指定共同(tong)安裝程序。 例如:

AddReg =   HKR,,CoInstallers32,0x00010000,"MyCoinstaller.dll"

1304:找到舊使用非(fei)相對密鑰的操(cao)作

錯誤 1304年指示注冊表(biao)操作(zuo)使用 HKR 以(yi)外(wai)的注冊表(biao)根。

1305:找到舊操作使用可附加的多 sz 值

錯誤 1305年表示 INF 刪除取值REG_MULTI_SZ或將一個值追加到現有REG_MULTI_SZ

1306:找到舊操(cao)作具有非(fei)系(xi)統目標路徑(jing)

錯誤 1306年指(zhi)示文件復(fu)制將指(zhi)定(ding)的目(mu)標,則不在   %systemroot%。

1310-1312:適用(yong)于需要指(zhi)令(ling)的(de)(de)不正確的(de)(de)部分擴(kuo)展(zhan)

需(xu)(xu)要指(zhi)令有效地完成所需(xu)(xu)的(de)部(bu)分復制/粘貼到引用部(bu)分。 作(zuo)為基線(xian)驗證 InfVerif 比(bi)較部(bu)分的(de)擴展。 這(zhe)意味著 [DDInstall.Services] [DDInstall.Services] 的(de)其(qi)他(ta)部(bu)分可以(yi)僅使用需(xu)(xu)求指(zhi)令。

1313-1314:缺少包括指令

在(zai)每個(ge)部分中的(de)使(shi)用需求指令,都(dou)必須(xu)有相(xiang)應的(de)包括指令以(yi)(yi)引(yin)用包含目標部分 INF。 以(yi)(yi)前需要指令將有效(xiao) Include 指令時在(zai)另一個(ge) INF 部分。

133 x:功(gong)能(neng)錯誤

多個注冊表部分(fen)寫入到單個全局(ju)(ju)密(mi)鑰。 例如,不(bu)(bu)同(tong)的(de)(de)(de)(de)部分(fen)可能具(ju)有的(de)(de)(de)(de)服(fu)務(wu)設置不(bu)(bu)同(tong)的(de)(de)(de)(de)服(fu)務(wu)配置為全局(ju)(ju)注冊表項(xiang)設置為不(bu)(bu)同(tong)的(de)(de)(de)(de)數(shu)據值(zhi)或(huo)指(zhi)向不(bu)(bu)同(tong)的(de)(de)(de)(de)源文(wen)件(jian)的(de)(de)(de)(de)目標文(wen)件(jian)。

安裝(zhuang) (2000--2999)

2000 2999年范圍中的問(wen)題顯(xian)示為警告。 可能(neng)的(de)值包括以下內容。

<td valign="top" style="border-top:none;border-left:none;border-bottom:solid windowtext 1px;

錯誤代碼

描述

2083:不(bu)引用(yong)(yong)或使用(yong)(yong)的部分

支持與幫助

您可(ke)以通過我們的電話,郵箱,QQ或者微信進行咨詢并獲取幫(bang)助。