Sectie INF DDInstall.CoInstallers

Caution

Vanaf Windows 11 versie 22H2 komt een stuurprogrammapakket dat deze sectie gebruikt, niet meer in aanmerking voor een handtekening van Hardware Developer Center.

Universele stuurprogrammapakketten en Windows Stuurprogramma's kunnen deze sectie niet gebruiken.

In deze optionele sectie worden een of meer apparaatspecifieke co-installateurs geregistreerd die op de distributiemedia worden geleverd om de werking van bestaande installatieprogramma's van apparaatklassen aan te vullen.

[install-section-name.CoInstallers] |
[install-section-name.nt.CoInstallers] | 
[install-section-name.ntx86.CoInstallers] | 
[install-section-name.ntia64.CoInstallers] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.CoInstallers] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.CoInstallers] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.CoInstallers] (Windows 10 version 1709 and later versions of Windows)
  
AddReg=add-registry-section[,add-registry-section]... 
CopyFiles=@filename | file-list-section[,file-list-section]...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[DelFiles=file-list-section[,file-list-section]...]
[RenFiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...] 
[BitReg=bit-registry-section[,bit-registry-section]...]
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
... 

Invoer

AddReg=add-registry-section[, add-registry-section]...
Verwijst naar een of meer INF-writer-gedefinieerde add-registry-section-sdie registerinformatie over de geleverde co-installers opslaan.

Een HKR die is opgegeven in een dergelijke sectie van het add-registry, wijst het registerpad 'softwaresleutel' aan van het apparaat dat wordt geïnstalleerd. Daarom schrijft het voor een apparaatspecifiek co-installatieprogramma een waardevermelding voor CoInstallers32 (of wijzigt) in deze door de gebruiker toegankelijke softwaresleutel per apparaat/stuurprogramma.

Voor een klassespecifiek co-installatieprogramma worden de nieuwe co-installatieprogramma's geregistreerd door de inhoud van de juiste .. CoDeviceInstallers\SetupClassGUID-subsleutels . Het pad van de juiste register-SetupClassGUID-subsleutels moet expliciet worden opgegeven in de secties waarnaar wordt verwezen.

Zie DE INF AddReg-richtlijn voor meer informatie.

CopyFiles=@bestandsnaam | file-list-section*[, file-list-section]...
Hiermee worden de bronbestanden van co-installer naar het doel op de doelcomputer overgedragen, meestal door te verwijzen naar een of meer inF-writer-gedefinieerde bestandslijstsectieselders in het INF-bestand. In een dergelijke sectie met bestandslijsten worden de bestanden van het co-installatieprogramma opgegeven die moeten worden gekopieerd van de bronmedia naar de doelmap op het doel.

Systeem-INF-bestanden die co-installers installeren, gebruiken deze instructie echter nooit in een DDInstall. Sectie CoInstallers .

Zie de INF CopyFiles-richtlijn voor meer informatie.

Include=bestandsnaam. inf[, bestandsnaam2.inf]...
Hiermee geeft u een of meer door het systeem geleverde INF-bestanden op die secties bevatten die nodig zijn om de co-installatieprogramma's voor dit apparaat of apparaatinstallatieklasse te installeren. Een INF-bestand met deze vermelding moet meestal Behoeften opgeven.

Needs=inf-section-name[,inf-section-name]...
Hiermee geeft u de specifieke secties op die moeten worden verwerkt tijdens de installatie van dit apparaat. Normaal gesproken is een dergelijke benoemde sectie een DDInstall. De sectie CoInstallers in een door het systeem opgegeven INF-bestand dat wordt vermeld in een vermelding Opnemen . Het kan echter elke sectie zijn waarnaar wordt verwezen binnen een dergelijke DDInstall. De sectie CoInstallers van de opgenomen INF.

DelFiles=file-list-section[,file-list-section]...
Verwijst naar een sectie met een bestandslijst waarin wordt aangegeven welke bestanden uit het doel moeten worden verwijderd. Deze richtlijn wordt zelden gebruikt.

Zie DE INF DelFiles-richtlijn voor meer informatie.

RenFiles=file-list-section[, file-list-section]...
Verwijst naar een sectie met een lijst met bestanden waarin de naam van bestanden op de bestemming wordt opgegeven voordat bronbestanden van co-installer naar het doel worden gekopieerd. Deze richtlijn wordt ook zelden gebruikt.

Zie DE INF RenFiles-richtlijn voor meer informatie.

DelReg=del-registry-section[, del-registry-section]...
Verwijst naar een of meer INF-writer-define delete-registry-sections. Een dergelijke sectie bevat verouderde registergegevens over de co-installatieprogramma's voor een eerdere installatie van dezelfde apparaten die uit het register moeten worden verwijderd. Een HKR die is opgegeven in een dergelijke sectie verwijderen-register wijst dezelfde registersubsleutel aan zoals al is beschreven voor de AddReg-vermelding . Deze richtlijn wordt zelden gebruikt in een DDInstall. Sectie CoInstallers .

Zie DE INF DelReg-richtlijn voor meer informatie.

BitReg=bit-registry-section[,bit-registry-section]...
Deze vermelding is geldig in deze sectie, maar wordt bijna nooit gebruikt. Een HKR die is opgegeven in een dergelijke bit-registersectie wijst dezelfde registersubsleutel aan zoals al is beschreven voor de AddReg-vermelding .

Zie DE INF BitReg-richtlijn voor meer informatie.

UpdateInis=update-ini-section[, update-ini-section]...
Deze vermelding is geldig in deze sectie, maar wordt bijna nooit gebruikt.

Zie DE INF UpdateInis-richtlijn voor meer informatie.

UpdateIniFields=update-inifields-section[,update-inifields-section]...
Deze vermelding is geldig in deze sectie, maar wordt bijna nooit gebruikt.

Zie INF UpdateIniFields Directive voor meer informatie.

Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Deze vermelding is geldig in deze sectie, maar wordt bijna nooit gebruikt.

Zie DE INF Ini2Reg-richtlijn voor meer informatie.

Remarks

De opgegeven sectie DDInstall moet worden verwezen in een apparaat-/modelspecifieke vermelding onder de sectie Modellen per fabrikant van het INF-bestand.

Als een INF een DDInstall bevat. De sectie Coinstallers moet er een zijn voor elke platformversierings- en ongeconcondeerde DDInstall-sectie. Als een INF bijvoorbeeld een sectie [install-section-name.ntx86] en een sectie [install-section-name] bevat en deze apparaatspecifieke co-installers registreert, moet de INF zowel een [install-section-name.ntx86" bevatten. De sectie Coinstallers en een [install-section-name. Sectie Coinstallers. Zie INF-bestanden maken voor meerdere platforms en besturingssystemen voor meer informatie over het gebruik van de door het systeem gedefinieerde .nt, .ntnt, .ntarm, en .ntarm64.

Elke instructie in een DDInstall. CoInstallers-sectie kan verwijzen naar meer dan één inF-schrijver gedefinieerde sectienaam. Elke extra benoemde sectie moet echter worden gescheiden van de volgende met een komma (,).

Elke sectienaam die met een instructie is gemaakt, moet uniek zijn binnen het INF-bestand en moet voldoen aan de algemene regels voor het definiëren van sectienamen. Zie Algemene syntaxisregels voor INF-bestanden voor meer informatie over deze regels.

Een co-installatieprogramma is een Win32-DLL die doorgaans extra configuratiegegevens naar het register schrijft of andere installatietaken uitvoert waarvoor dynamisch gegenereerde systeemspecifieke informatie nodig is die niet beschikbaar is wanneer een INF wordt gemaakt. Een apparaatspecifiek co-installatieprogramma vormt een aanvulling op de installatiebewerkingen van het installatieprogramma van het besturingssysteem of van het juiste klasse-installatieprogramma wanneer dat apparaat is geïnstalleerd.

Zie Een co-installatieprogramma schrijven en gebruiken voor meer informatie over het schrijven en gebruiken van co-installatieprogramma's.

Installatiekopieën voor co-installatiekopieën installeren

Alle co-installatiebestanden moeten worden gekopieerd naar de map%SystemRoot%\system32 . Net als elke INF CopyFiles-bewerking wordt de bestemming expliciet beheerd voor een benoemde bestandslijstsectie in de sectie DestinationDirs van het INF-bestand door de dirid-waarde11 of door deze dirid-waarde op te leveren voor de defaultDestDir-vermelding .

Device-Specific co-installatieprogramma's registreren

Als u een of meer apparaatspecifieke co-installatieprogramma's registreert, moet u een REG_MULTI_SZ-getypte waardevermelding toevoegen aan het register. Geef een add-registry-section op waarnaar wordt verwezen door de AddReg-instructie , met behulp van de volgende algemene vorm:

[DDInstall.CoInstallers_DeviceAddReg]
 
HKR,,CoInstallers32,0x00010000,"DevSpecificCoInstall.dll
   [,DevSpecificEntryPoint]"[,"DevSpecific2CoInstall.dll
      [,DevSpecific2EntryPoint]"...] 

De HKR-vermelding wordt vermeld als één regel in het INF-bestand en elk opgegeven apparaatspecifieke co-installer DLL moet een unieke naam hebben. Nadat de vermelde co-installatieprogramma's zijn geregistreerd, roept het installatieprogramma van het systeem deze aan bij elke volgende stap van het installatieproces voor dat apparaat.

Als het optionele DevSpecificEntryPoint wordt weggelaten, wordt de standaardroutinenaam CoDeviceInstall gebruikt als het toegangspunt van het DLL-bestand van het co-installatieprogramma.

Zie Een Device-Specific Co-installatieprogramma registreren voor meer informatie.

Device-Class co-installatieprogramma's registreren

Als u een waardevermelding (en subsleutel van de installatieklasse wilt toevoegen, als deze nog niet bestaat) voor een of meer co-installatieprogramma's van apparaatklassen aan het register, heeft een add-registry-sectie waarnaar wordt verwezen door de AddReg-instructie de volgende algemene vorm:

[DDInstall.CoInstallers_ClassAddReg]
 
HKLM,System\CurrentControlSet\Control
    \CoDeviceInstallers,{SetupClassGUID},
       0x00010008,"DevClssCoInst.dll[,DevClssEntryPoint]" 
 ...

Elke vermelding in een dergelijke sectie voor het toevoegen van een register wordt vermeld als één regel in het INF-bestand en elke opgegeven klasse co-installer DLL moet een unieke naam hebben. Als de opgegeven co-installatieprogramma's moeten worden gebruikt voor meer dan één apparaatinstallatieklasse, kan deze sectie van het invoegtoepassingsregister meer dan één vermelding hebben, elk met de juiste SetupClassGUID-waarde .

Een dergelijk aanvullend co-installatieprogramma van apparaatklasse mag geen reeds geregistreerde co-installatieprogramma's vervangen voor een bestaand installatieprogramma voor klassen. Daarom moet het co-installatieprogramma van de klasse een unieke naam hebben en moet de opgegeven waarde van het REG_MULTI_SZ-type worden toegevoegd (zoals aangegeven door de 8 in de waarde van de vlaggen0x0010008) aan de klassespecifieke vermeldingen voor co-installer, indien aanwezig, die al aanwezig zijn in de subsleutel {SetupClassGUID}.

Note

De SetupAPI-functies voegen nooit een dubbele DevClssCoInstall -.dll toe aan een waardevermelding als een co-installatieprogramma met dezelfde naam al is geregistreerd.

De INF voor een aanvullend co-installatieprogramma van apparaatklasse kan worden geactiveerd door met de rechtermuisknop te klikken op installeren of door een aanroep van SetupInstallFromInfSection die is gemaakt door een installatietoepassing van een apparaat.

Examples

In dit voorbeeld ziet u de DDInstall. Sectie CoInstallers voor seriële IrDA-netwerkadapters. De door het systeem geleverde INF voor deze IrDA(seriële) NIC's levert een co-installatieprogramma aan het systeem IrDA-klasse-installatieprogramma.

; DDInstall section
[PNP.NT]
AddReg=ISIR.reg, Generic.reg, Serial.reg
PromptForPort=0     ; This is handled by IRCLASS.DLL
LowerFilters=SERIAL ; This is handled by IRCLASS.DLL
BusType=14
Characteristics=0x4 ; NCF_PHYSICAL 

; ... PNP.NT.Services section omitted here
[PNP.NT.CoInstallers]
AddReg = ISIR.CoInstallers.reg 
; ...

[IRSIR.reg]
HKR, Ndi, HelpText, 0, %IRSIR.Help%
HKR, Ndi, Service, 0, "IRSIR"
HKR, Ndi\Interfaces, DefUpper, 0, "ndisirda"
HKR, Ndi\Interfaces, DefLower, 0, "nolower"
HKR, Ndi\Interfaces, UpperRange, 0, "ndisirda"
HKR, Ndi\Interfaces, LowerRange, 0, "nolower"

[Generic.reg]
HKR,,InfraredTransceiverType,0,"0"

[Serial.reg]
HKR,,SerialBased,0, "0"

[ISIR.CoInstallers.reg]
HKR,,CoInstallers32,0x00010000,"IRCLASS.dll,IrSIRClassCoInstaller"

; ... Services and Event Log registry sections omitted here
[Strings]
; ...
IRSIR.Help = "An IrDA serial infrared device is a built-in COM port or 
external transceiver which transmits infrared pulses. This NDIS 
miniport driver installs as a network adapter and binds to the FastIR 
protocol."

De voorgaande PNP. NT. In de sectie CoInstallers wordt alleen verwezen naar een sectie voor co-installer-specifieke invoegtoepassingen .

Er is geen CopyFiles-instructie omdat deze door het systeem geleverde INF een set IrDA-netwerkapparaten installeert. Net als alle INF-systeembestanden gebruikt dit INF-bestand de indelingsbestandvermelding in de sectie Versie om het co-installatiebestand over te dragen naar de bestemming.

DDInstall. CoInstallers-sectie in een INF die wordt geleverd door een IHV of OEM vereist een CopyFiles-instructie en ook de secties SourceDisksNames en SourceDisksFiles.

Zie ook

AddReg

BitReg

CopyFiles

DDInstall

DelFiles

DelReg

DestinationDirs

Ini2Reg

RenFiles

SourceDisksFiles

SourceDisksNames

UpdateIniFields

Versie