Komponentenfirmwareupdate (CFU) INF-Dateikonfiguration
Befolgen Sie zum Konfigurieren einer benutzerdefinierten INF-Datei für CFU die Anleitung in diesem Thema, um die richtigen Werte und Einstellungen für Ihre Firmwareimagedateien und Hardwaregeräte bereitzustellen.
Hinweis
CFU ist in Windows 10 Version 2004 (Windows 10 Update vom Mai 2020) und höheren Versionen verfügbar.
Die unten enthaltene CFU-Beispiel-INF-Datei bietet einen Ausgangspunkt für die benutzerdefinierte INF-Datei Ihres Geräts. Das Beispiel-INF konfiguriert den CFU-Posteingangstreiber (hidcfu.dll), um das Firmwareupdateszenario für ein virtuelles CFU Hid-Gerät zu aktivieren. Weitere Informationen zum Beispielcode und zur exemplarischen Vorgehensweise zum Aktualisieren der Firmware eines virtuellen HID-Geräts finden Sie im Thema Firmwareupdates für virtuelle HID-Geräte in CFU . In den folgenden Abschnitten wird auf die enthaltene INF-Beispieldatei verwiesen, um die in diesem Thema erläuterten Konfigurationskonzepte zu veranschaulichen.
Ihre tatsächliche INF-Datei muss speziell für die Firmware und Hardware Ihres Geräts angepasst und konfiguriert werden.
Voraussetzungen
Die folgenden Ressourcen helfen Ihnen, mehr über das CFU-Protokoll (Component Firmware Update) zu erfahren.
Die CFU-Protokollspezifikation (Component Firmware Update) beschreibt ein generisches HID-Protokoll zum Aktualisieren der Firmware für Komponenten, die auf einem PC oder Zubehör vorhanden sind. Die Spezifikation ermöglicht es einer Komponente, Firmware zu akzeptieren, ohne den Gerätebetrieb während eines Downloads zu unterbrechen.
Das CFU-Firmwareupdatebeispiel enthält Beispiel-Firmwarequellcode für die Implementierung des CFU-Protokolls.
Das eigenständige CFU-Tool kann verwendet werden, um Ihr Firmwareupdate auf Ihrem Gerät während der Entwicklung und vor dem Hochladen auf Windows Update zu testen.
Überblick
Um das Firmwareimage für Ihr Gerät mithilfe des CFU-Modells zu aktualisieren, sollten Sie die folgenden Anforderungen erfüllen:
Stellen Sie eine benutzerdefinierte INF-Datei für Ihr Gerät bereit. Diese Datei enthält Informationen zum CFU-Posteingangstreiber, der das Firmwareupdate an das Gerät sendet. Es wird empfohlen, die unten in diesem Thema bereitgestellte Beispiel-CFU-INF-Datei anzupassen, um Ihre Firmwareupdateszenarien zu unterstützen.
Ihr Gerät muss mit einem Firmwareimage ausgeliefert werden, das mit dem CFU-Protokoll kompatibel ist, damit es ein Update vom CFU-Treiber akzeptieren kann.
Ihr Gerät muss sich als HID-Gerät für das Betriebssystem (mit dem CFU-Posteingangstreiber) verfügbar machen und eine HID Top-Level Collection (TLC) verfügbar machen. Der CFU-Posteingangstreiber lädt den TLC und sendet das Firmwareupdate an das Gerät.
Dadurch können Sie Ihre marktinternen Geräte über Windows Update. Um die Firmware für eine Komponente zu aktualisieren, stellen Sie das Firmwareupdateimage über Windows Update bereit. Wenn der CFU-Posteingangstreiber das Vorhandensein einer Komponente erkennt, führt er die erforderlichen Aktionen auf dem Host aus und überträgt das Firmwareimage an die primäre Komponente auf dem Gerät.
Konfigurieren Ihrer benutzerdefinierten CFU-INF-Datei
Fügen Sie in Ihrer benutzerdefinierten INF-Datei die Hardware-IDs Ihrer Geräte ein, wie in diesem Beispiel angegeben.
[Standard.NTamd64] %CfuVirtualHidDeviceFwUpdate.DeviceDesc%=CfuVirtualHidDeviceFwUpdate, HID\VID_045E&UP:FA00_U:00F5 ; HardwareID for VirtualHidDevice MCU
INF-Hardware-ID-Einstellungen
Damit der CFU-Posteingangstreiber mit der Firmware kommunizieren kann, sollte die im INF angegebene Hardware-ID mit dem übereinstimmen, was in der Hid-Deskriptorkonfiguration in der Firmware angegeben ist.
Wie unten gezeigt, entsprechen die Werte "CfuVirtualHidDeviceFwUpdate.inf " den Werten, die im Hid-Deskriptor des Virtuellen Firmware-Simulationstreibers angegeben sind.
[Standard.NTamd64] %CfuVirtualHidDeviceFwUpdate.DeviceDesc%=CfuVirtualHidDeviceFwUpdate, HID\VID_045E&UP:FA00_U:00F5
Weitere Informationen finden Sie im folgenden Code in g_CfuVirtualHid_HidReportDescriptor (Hid Report Descriptor) in DmfInterface.c.
0x06, CFU_DEVICE_USAGE_PAGE, // USAGE_PAGE(0xFA00) 0x09, CFU_DEVICE_USAGE, // USAGE(0xF5)
Aktualisieren Sie in Ihrer benutzerdefinierten INF-Datei die folgenden hier gezeigten Einträge (einschließlich der Abschnitte SourceDisksFiles und CopyFiles ), um den Dateien in Ihrem Firmwareupdate zu entsprechen.
Beispielsweise unterstützt das Virtuelle CFU Hid-Gerät zwei Komponenten (MCU und Audio). Im folgenden Beispielabschnitt werden die Angebots- und Nutzlastdateien für diese Komponenten angegeben.
; Specify the location of the firmware offer ; and payload file in the registry. ; The files are kept in driver store. ; When deployed, %13% would be expanded to ; the actual path in driver store. ; ; You can change subkey name under CFU ; (for example, "CfuVirtualHidDevice_MCU"), ; and specify your own offer ; (for example, "CfuVirtualHidDevice_MCU.offer.bin") ; and payload (for example, "CfuVirtualHidDevice_MCU.payload.bin") ; file name. ; HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_MCU,Offer, 0x00000000, %13%\CfuVirtualHidDevice_MCU.offer.bin HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_MCU,Payload, 0x00000000, %13%\CfuVirtualHidDevice_MCU.payload.bin HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_Audio,Offer, 0x00000000, %13%\CfuVirtualHidDevice_Audio.offer.bin HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_Audio,Payload, 0x00000000, %13%\CfuVirtualHidDevice_Audio.payload.bin [SourceDisksFiles] CfuVirtualHidDevice_MCU.offer.bin=1 CfuVirtualHidDevice_MCU.payload.bin=1 CfuVirtualHidDevice_Audio.offer.bin=1 CfuVirtualHidDevice_Audio.payload.bin=1 [CfuVirtualHidDeviceFwUpdate.CopyFiles] CfuVirtualHidDevice_MCU.offer.bin CfuVirtualHidDevice_MCU.payload.bin CfuVirtualHidDevice_Audio.offer.bin CfuVirtualHidDevice_Audio.payload.bin
Die vollständige CFU-INF-Beispieldatei finden Sie unten in der CFU-INF-Beispieldatei.
Hinweis
Wenn die Pakete installiert sind, ersetzt das Betriebssystem den
%13%
durch den vollständigen Pfad zu den Dateien, bevor die Registrierungswerte erstellt werden. Daher kann der Treiber die Registrierung auflisten und alle Firmwareimages und Angebotsdateien identifizieren.Hinweis
Im obigen Beispiel sollte "A410A898-8132-4246-AC1A-30F1E98BB0A4", "Angebot", "Nutzlast" nicht geändert werden, da der CFU-Posteingangstreiber zur Laufzeit nach diesen Werten sucht.
Geben Sie in Ihrer benutzerdefinierten INF-Datei die Funktionen Ihres Geräts mit den Einstellungen für die Registrierungswertfunktion an, die im Abschnitt Tabelle und Beispiel-INF unten beschrieben sind.
Der CFU-Posteingangstreiber bietet eine Möglichkeit, das Treiberverhalten so anzupassen, dass es für bestimmte Szenarien optimiert wird. Diese Einstellungen werden über Registrierungseinstellungen gesteuert, die in der folgenden Tabelle mit den CFU-Registrierungswerten beschrieben sind.
Beispielsweise erfordert der CFU-Posteingangstreiber Informationen zu den Details zur Nutzung der Wertfunktion gemäß der Firmwareimplementierung. Weitere Informationen und ein Beispiel dazu finden Sie im Abschnitt Einstellungen für funktionen des INF-Werts unten.
Sie können jeden dieser Registrierungswerte gemäß Ihren Firmwareimplementierungsanforderungen konfigurieren.
CFU-Registrierungswerte
Registrierungswert Beschreibung Ausrichtung Protokollattribute: Welche Bin-Datensatzausrichtung ist für diese Konfiguration erforderlich? Während der Nutzlastsendephase des Protokolls füllt der Treiber viele Hid-Puffer mit der Nutzlast ein und sendet nacheinander an die Firmware.
Diese Option steuert die Ausrichtungsanforderung beim Packen der Nutzlast.
Standardmäßig wird die Ausrichtung von 8 Byte verwendet. Wenn keine Ausrichtung erforderlich ist, konfigurieren Sie diese als 1.
UseHidSetOutputReport 0: Der Treiber verwendet die Schreibanforderung beim Senden eines Ausgabeberichts. 1 : Der Treiber verwendet IOCTL_HID_SET_OUTPUT_REPORT zum Senden von Ausgabeberichten.
Standard ist "0". Legen Sie dies auf 1 fest, wenn ihr zugrunde liegender Transport nicht USB ist (z. B. HID over BTH).
OfferInputValueCapabilityUsageRangeMinimum Mindestnutzung der Wertfunktion für die Behandlung von Angebotseingabeberichten. OfferOutputValueCapabilityUsageRangeMinimum Mindestnutzung der Wertfunktion für die Behandlung von Angebotsausgabeberichten. PayloadInputValueCapabilityUsageRangeMinimum Mindestnutzung der Wertfunktion für die Verarbeitung von Nutzlasteingabeberichten. PayloadOutputValueCapabilityUsageRangeMinimum Minimale Nutzung der Wertfunktion für die Verarbeitung von Nutzlastausgabeberichten. VersionenFeatureValueCapabilityUsageRangeMinimum Mindestnutzung der Wertfunktion für die Behandlung von Versionsfeatureberichten. Einstellungen der INF-Wertfunktion
Damit der CFU-Posteingangstreiber mit der Firmware kommunizieren kann, sollten die im INF angegebenen Wertfunktionen mit denen in der Hid-Deskriptorkonfiguration in der Firmware übereinstimmen.
In diesem Beispiel entsprechen die INF-Werte den Werten, die im Hid-Deskriptor des virtuellen Firmwaresimulationstreibers angegeben sind.
[CfuVirtualHidDeviceFwUpdate_HWAddReg] ... ... HKR,,OfferInputValueCapabilityUsageRangeMinimum,0x00010001,0x1A HKR,,OfferOutputValueCapabilityUsageRangeMinimum,0x00010001, 0x1E HKR,,PayloadInputValueCapabilityUsageRangeMinimum,0x00010001,0x26 HKR,,PayloadOutputValueCapabilityUsageRangeMinimum,0x00010001,0x31 HKR,,VersionsFeatureValueCapabilityUsageRangeMinimum,0x00010001, 0x42
Weitere Informationen finden Sie im folgenden Code in g_CfuVirtualHid_HidReportDescriptor (Hid Report Descriptor) in DmfInterface.c.
0x85, REPORT_ID_PAYLOAD_INPUT, // REPORT_ID(34) 0x75, INPUT_REPORT_LENGTH, // REPORT SIZE(32) 0x95, 0x04, // REPORT COUNT(4) 0x19, PAYLOAD_INPUT_USAGE_MIN, // USAGE MIN (0x26) 0x29, PAYLOAD_INPUT_USAGE_MAX, // USAGE MAX (0x29) 0x81, 0x02, // INPUT(0x02) 0x85, REPORT_ID_OFFER_INPUT, // REPORT_ID(37) 0x75, INPUT_REPORT_LENGTH, // REPORT SIZE(32) 0x95, 0x04, // REPORT COUNT(4) 0x19, OFFER_INPUT_USAGE_MIN, // USAGE MIN (0x1A) 0x29, OFFER_INPUT_USAGE_MAX, // USAGE MAX (0x1D) 0x81, 0x02, // INPUT(0x02) 0x85, REPORT_ID_PAYLOAD_OUTPUT, // REPORT_ID(32) 0x75, 0x08, // REPORT SIZE(8) 0x95, OUTPUT_REPORT_LENGTH, // REPORT COUNT(60) 0x09, PAYLOAD_OUTPUT_USAGE, // USAGE(0x31) 0x92, 0x02, 0x01, // OUTPUT(0x02) 0x85, REPORT_ID_OFFER_OUTPUT, // REPORT_ID(37) 0x75, INPUT_REPORT_LENGTH, // REPORT SIZE(32) 0x95, 0x04, // REPORT COUNT(4) 0x19, OFFER_OUTPUT_USAGE_MIN, // USAGE MIN (0x1E) 0x29, OFFER_OUTPUT_USAGE_MAX, // USAGE MAX (0x21) 0x91, 0x02, // OUTPUT(0x02) 0x85, REPORT_ID_VERSIONS_FEATURE, // REPORT_ID(32) 0x75, 0x08, // REPORT SIZE(8) 0x95, FEATURE_REPORT_LENGTH, // REPORT COUNT(60) 0x09, VERSIONS_FEATURE_USAGE, // USAGE(0x42) 0xB2, 0x02, 0x01, // FEATURE(0x02)
Bereitstellen des Firmwarepakets über Windows Update
Stellen Sie als Nächstes das Paket über Windows Update bereit.
Informationen zur Bereitstellung finden Sie unter Windows 10 Treiberveröffentlichungsworkflow (DOCX-Download).
Dateiformat des Firmwareupdateimages
Das Firmwareupdateimage umfasst zwei Teile: eine Angebotsdatei und eine Nutzlastdatei. Das Angebot enthält die erforderlichen Informationen zur Nutzlast, damit die primäre Komponente auf dem Gerät, das das Update empfängt, entscheiden kann, ob die Nutzlast akzeptabel ist. Die Nutzlast ist ein Adress- und Bytesbereich, den die primäre Komponente nutzen kann.
Angebotsformat
Die Angebotsdatei ist eine 16-Byte-Binärdaten, deren Struktur dem in Abschnitt 5.5.1 der CFU-Protokollspezifikation angegebenen Format entsprechen muss.
Nutzlastformat
Die Nutzlastdatei ist eine Binärdatei, die eine Sammlung von Datensätzen ist, die zusammenhängend gespeichert werden. Jeder Datensatz hat das folgende Format.
Offset | Size | Wert | BESCHREIBUNG |
---|---|---|---|
Byte 0 | DWORD | Firmwareadresse | Little Endian (LSB First) Adresse zum Schreiben der Daten. Die Adresse ist 0-basiert. Die Firmware könnte dies als Offset verwenden, um die Adresse bei Bedarf zu bestimmen, wenn das Image im Speicher platziert wird. |
Byte 4 | Byte | Länge | Länge der Nutzlastdaten. |
Byte 5-N | Byte | Daten | Bytearray von Nutzlastdaten. |
Status des Firmwareupdates
Während der Protokolltransaktion schreibt der CFU-Posteingangstreiber Registrierungseinträge, um die status anzugeben. Diese Tabelle beschreibt den Namen, das Format der Werte und die Bedeutung von Werten, die der Treiber während der verschiedenen Phasen des Protokolls berührt.
_ID_ in der Tabelle stellt die Komponenten-ID dar, die aus der Angebotsdatei abgerufen wird. Wie in der Spezifikation beschrieben, identifiziert die Komponenten-ID jede Komponente eindeutig.
Informationen zum Wert DWORD finden Sie in der Spezifikation.
Phase | Standort | Reg-Wertname | Wert (DWORD) |
---|---|---|---|
Starten; Pre-Angebot. | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDCurrentFwVersion" | Version vom Gerät |
{Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatus" | FIRMWARE_UPDATE_STATUS_NOT_STARTED | |
Angebot; Informationen zum Senden des Angebots. | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDOfferFwVersion" | Version, die an das Gerät gesendet (oder gesendet werden soll). |
Angebotsantwort (abgelehnt) | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatusRejectReason" | Grund für die vom Gerät zurückgegebene Ablehnung. |
Angebotsantwort (Gerät ausgelastet) | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatus" | FIRMWARE_UPDATE_STATUS_BUSY_PROCESSING_UPDATE |
Angebotsantwort (akzeptiert); Informationen zum Senden der Nutzlast. | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatus" | FIRMWARE_UPDATE_STATUS_DOWNLOADING_UPDATE |
Nutzlast akzeptiert. | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatus" | FIRMWARE_UPDATE_STATUS_PENDING_RESET |
Fehler in jeder Phase. | {Gerätehardwareschlüssel}\ComponentFirmwareUpdate | "Komponenten-IDFirmwareUpdateStatus" | FIRMWARE_UPDATE_STATUS_ERROR |
Beispiel-CFU-INF-Datei
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Copyright (c) Microsoft Corporation. All rights reserved.
;
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
; PURPOSE.
;
; File:
;
: CfuVirtualHidDeviceFwUpdate.inx
;
; Description:
;
; Sample INF file for Cfu virtual Hid device firmware update.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Version]
Signature="$Windows NT$"
Class=Firmware
ClassGuid={f2e7dd72-6468-4e36-b6f1-6488f42c1b52}
Provider=%ManufacturerName%
CatalogFile=CfuVirtualHidDeviceFwUpdate.cat
DriverVer = 12/16/2019,11.42.16.703
PnPLockDown=1
[SourceDisksNames]
1= %DiskName%
[DestinationDirs]
CfuVirtualHidDeviceFwUpdate.CopyFiles=13
[Manufacturer]
%ManufacturerName%=Standard,NTamd64
[Standard.NTamd64]
%CfuVirtualHidDeviceFwUpdate.DeviceDesc%=CfuVirtualHidDeviceFwUpdate, HID\VID_045E&UP:FA00_U:00F5 ; HardwareID for VirtualHidDevice MCU
[CfuVirtualHidDeviceFwUpdate.NT]
Include = HidCfu.inf
Needs = HidCfu.NT
CopyFiles = CfuVirtualHidDeviceFwUpdate.CopyFiles
[CfuVirtualHidDeviceFwUpdate.NT.Wdf]
Include = HidCfu.inf
Needs = HidCfu.NT.Wdf
[CfuVirtualHidDeviceFwUpdate.NT.HW]
AddReg = CfuVirtualHidDeviceFwUpdate_HWAddReg
[CfuVirtualHidDeviceFwUpdate_HWAddReg]
HKR,,FriendlyName,,%FwUpdateFriendlyName%
HKR,,Alignment,0x00010001, 1 ; (No Alignment)
HKR,,OfferInputValueCapabilityUsageRangeMinimum,0x00010001,0x1A
HKR,,OfferOutputValueCapabilityUsageRangeMinimum,0x00010001, 0x1E
HKR,,PayloadInputValueCapabilityUsageRangeMinimum,0x00010001,0x26
HKR,,PayloadOutputValueCapabilityUsageRangeMinimum,0x00010001,0x31
HKR,,VersionsFeatureValueCapabilityUsageRangeMinimum,0x00010001, 0x42
; Specify the location of the firmware offer and payload file in the registry.
; The files are kept in the driver store.
; When deployed, %13% would be expanded to the actual path
; in driver store.
;
; You can change subkey name under CFU (e.g. "CfuVirtualHidDevice_MCU"), and specify your own offer
; (e.g. "CfuVirtualHidDevice_MCU.offer.bin") and payload (e.g "CfuVirtualHidDevice_MCU.payload.bin") file name.
;
HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_MCU,Offer, 0x00000000, %13%\CfuVirtualHidDevice_MCU.offer.bin
HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_MCU,Payload, 0x00000000, %13%\CfuVirtualHidDevice_MCU.payload.bin
HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_Audio,Offer, 0x00000000, %13%\CfuVirtualHidDevice_Audio.offer.bin
HKR,A410A898-8132-4246-AC1A-30F1E98BB0A4\CfuVirtualHidDevice_Audio,Payload, 0x00000000, %13%\CfuVirtualHidDevice_Audio.payload.bin
[SourceDisksFiles]
CfuVirtualHidDevice_MCU.offer.bin=1
CfuVirtualHidDevice_MCU.payload.bin=1
CfuVirtualHidDevice_Audio.offer.bin=1
CfuVirtualHidDevice_Audio.payload.bin=1
[CfuVirtualHidDeviceFwUpdate.CopyFiles]
CfuVirtualHidDevice_MCU.offer.bin
CfuVirtualHidDevice_MCU.payload.bin
CfuVirtualHidDevice_Audio.offer.bin
CfuVirtualHidDevice_Audio.payload.bin
[CfuVirtualHidDeviceFwUpdate.NT.Services]
Include = HidCfu.inf
Needs = HidCfu.NT.Services
; =================== Generic ==================================
[Strings]
ManufacturerName="Surface"
CfuVirtualHidDeviceFwUpdate.DeviceDesc = "CfuVirtualHidDevice Firmware Update"
DiskName = "CfuVirtualHidDevice Firmware Update Installation Disk"
FwUpdateFriendlyName= "CfuVirtualHidDevice Firmware Update"
Problembehandlung
Überprüfen Sie die WPP-Protokolle (Windows Software Trace Preprocessor), um die treiberseitige Interaktion pro Komponente anzuzeigen.
Überprüfen Sie die Ereignisprotokolle auf kritische Fehler.
Überprüfen Sie die Buchhaltungsregistrierungseinträge, die unter Firmwareupdate status vom Treiber bereitgestellt werden.
Häufig gestellte Fragen
Ich habe eine Komponente A, die ein Update benötigt. Wie kann ich den CFU-Treiber auf Komponente A aufmerksam machen?
Sie müssen den CFU-Posteingangstreiber INF mithilfe der Hardware-ID des von Komponente A erstellten TLC konfigurieren.
Ich habe zwei Komponenten: Komponente A und eine Unterkomponente B. Wie sollte ich den CFU-Treiber auf Komponente B aufmerksam machen?
Das müssen Sie nicht. Der Treiber muss nichts über die Komponentenhierarchie wissen. Es interagiert mit der primären Komponente.
Wie kann ich den Treiber auf meine Firmwaredateien (Angebot, Nutzlast) aufmerksam machen, die ich an meine Komponente A senden muss?
Die Firmwaredateiinformationen werden im INF als Registrierungswerte festgelegt.
Ich habe viele Firmwaredateien, mehrere Angebote, Nutzlast, für Standard Komponente A und ihre Unterkomponenten. Wie sollte ich den Treiber darauf aufmerksam machen, welche Firmwaredatei für welche Komponente vorgesehen ist?
Die Firmwaredateiinformationen werden im INF als Registrierungswerte festgelegt.
Ich verwende den Treiber für Firmwareupdates. Gewusst wie wissen, dass ein Update erfolgreich war?
Das Firmwareupdate status wird im Rahmen der Buchhaltung vom Treiber in der Registrierung aktualisiert.
Zusätzliche Ressourcen
Erfahren Sie mehr über die Entwicklung von Windows-Treibern mithilfe von Windows Driver Foundation (WDF):
Entwickeln von Treibern mit Windows Driver Foundation, geschrieben von Penny Orwick und Guy Smith