InfVerif error 2084

Hibainformációk

A következő hibaüzenetet a 2084-ben megadott hibakód hozza létre:

Service binary '<value>' should reference a CopyFiles destination file.

Ez a hiba akkor fordul elő, ha egy szolgáltatásdeklarációban megadott fájl nem szerepel az illesztőprogram-csomag részeként. Az InfVerif ellenőrzi, hogy van-e megfelelő fájlmásolási művelet az illesztőprogram-csomag összes szolgáltatás bináris fájljában.

Előfordulhat, hogy a fájl teljes egészében ki van hagyva az INF CopyFiles irányelveiből, vagy előfordulhat, hogy egyes architektúrákhoz vagy operációsrendszer-verziókhoz jelen van, de nem mindegyikhez. Győződjön meg arról, hogy az architektúra és az operációs rendszer azon verziójához van másolva, amelyben a hiba előfordul.

Okok

Elírás

Gyakori ok a szolgáltatás bináris deklarációjában vagy a CopyFiles szakaszban található elírás.

[MyCopyFiles]
Binary1.sys

...
[MyServiceInstallSection]
ServiceBinary=%13%\Binar1y.sys

A fentiekben van egy elírás a bináris elérési útjában, ahol a Binar1y.sys van megadva ahelyett, hogy Binary1.sys lenne.

Beérkezett üzenetek bináris

Egyes postaládák bináris fájlokat használnak az eszköz függvényeként vagy szűrőillesztőjeként. Ezeket a bináris fájlokat korábban közvetlenül egy szolgáltatás deklarációban lehetett használni, de a Windows 11 és az újabb rendszerek megfelelő hivatkozást igényelnek rájuk a Belefoglalás és igény irányelvek használatával.

A WUDFRd.sys esetén lásd: Reflektor megadása INF-fájlban.

mshidkmdf.sys esetén, amikor a mshidkmdf.sys illesztőprogramként van használva,

[DDInstall]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT
; also include any existing DDInstall directives

[DDInstall.HW]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT.HW
; also include any existing DDInstall.HW directives

[DDInstall.Services]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT.Services
; also include any existing any DDInstall.Services directives

A mshidkmdf.sys szűrőillesztőként való használatához kövesse a fenti mintát, de az MsHidKmdf.NT.*helyett használja az alábbi szakasznevek egyikét, és cserélje le a nevet mindhárom szakaszban:

Felső szűrő: MsHidKmdf_UpperFilter.NT Alsó szűrő: MsHidKmdf_LowerFilter.NT

A szűrőszakaszok használatakor a következő mintát kell tartalmaznia is:

[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters

Ahol MsHidKmdf_UpperFilter.NT.Filters használatos a WUDFRD felső szűrőként való használatára, és MsHidKmdf_LowerFilter.NT az alsó szűrőhöz.

Hiányzó idézőjelek

Ha a szolgáltatás bináris elérési útja szóközt tartalmaz, de nincs benne idézőjel, ez a hiba jelenik meg. Például

ServiceBinary=%13%\Sub Directory\Binary.dll

Az elérési útban található szóköz miatt a rendszer ezt a %13%\Sub bináris elérési útnak tekinti az Directory\Binary.dll argumentumokkal, és ez a hiba azért jelenik meg, mert a %13%\Sub nem érvényes bináris. Idézőjelekkel jelezhető, hogy ez egy bináris elérési út, ahol az INF szintaxis tripla idézőjeleket használ. A következő megoldás a következő hibát oldja meg:

ServiceBinary="""%13%\Sub Directory\Binary.dll"""