Freigeben über


InfVerif-Fehler 2084

Fehlerinformationen

Die folgende Fehlermeldung wird durch den Fehlercode 2084 generiert:

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

Dieser Fehler tritt auf, wenn eine in einer Servicemeldung angegebene Datei nicht Teil des Treiberpakets ist. InfVerif überprüft, ob für jede Dienstbinärdatei im Treiberpaket ein entsprechender Kopiervorgang für die Datei vorhanden ist.

Die Datei kann vollständig aus den CopyFiles-Direktiven dieser INF weggelassen werden. Sie kann aber auch für einige (nicht alle) Architekturen oder Betriebssystemversionen vorhanden sein. Stellen Sie sicher, dass sie für die Architektur und die Betriebssystemversion kopiert wird, in der der Fehler auftritt.

Ursachen

Typo

Eine häufige Ursache ist ein Tippfehler in der Deklaration für Dienstbinärdateien oder im Abschnitt „CopyFiles“.

[MyCopyFiles]
Binary1.sys

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

Im obigen Pfad zur Binärdatei ist ein Tippfehler enthalten, der Binar1y.sys anstelle von Binary1.sys angibt.

Binärdatei für den Posteingang

Einige Binärdateien für den Posteingang werden als Funktions- oder Filtertreiber für ein Gerät verwendet. In der Vergangenheit konnten diese Binärdateien direkt in einer Service-Deklaration verwendet werden. Windows 11 und höher erfordern jedoch eine ordnungsgemäße Referenz, die die Anweisungen Include und Needs verwenden.

Informationen zu WUDFRd.sys finden Sie unter Angeben des Reflektors in einer INF-Datei.

Für mshidkmdf.sys, wenn mshidkmdf.sys als Funktionstreiber verwendet wird,

[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

Wenn Sie mshidkmdf.sys als Filtertreiber verwenden möchten, folgen Sie dem obigen Muster, verwenden Sie jedoch anstelle von MsHidKmdf.NT.* einen der folgenden Abschnittsnamen und ersetzen Sie den Namen in allen drei Abschnitten:

Oberer Filter: MsHidKmdf_UpperFilter.NT Niedrigerer Filter: MsHidKmdf_LowerFilter.NT

Wenn Sie die Filterabschnitte verwenden, muss auch das folgende Muster berücksichtigt werden:

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

MsHidKmdf_UpperFilter.NT.Filters sollte verwendet werden, um WUDFRD als oberen Filter zu installieren. Für einen niedrigeren Filter sollte MsHidKmdf_LowerFilter.NT verwendet werden.

Fehlende Anführungszeichen

Wenn der Pfad zu einer Dienstbinärdatei ein Leerzeichen enthält jedoch keine Anführungszeichen, wird dieser Fehler angezeigt. Beispiel:

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

Aufgrund des Leerzeichens im Pfad behandelt das System diesen Pfad als binären Pfad für %13%\Sub mit den Argumenten Directory\Binary.dll, und dieser Fehler wird angezeigt, da %13%\Sub eine ungültige Binärdatei ist. Anführungszeichen sollten verwendet werden, um anzugeben, dass es sich um einen einzelnen binären Pfad handelt, bei dem ING-Syntax dreifache Anführungszeichen verwendet. Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

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