Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Caution
Från och med Windows 11 version 22H2 är ett drivrutinspaket som använder det här direktivet inte längre berättigat till en signatur från Hardware Developer Center.
Universella drivrutinspaket och Windows Drivrutiner kan inte använda det här direktivet.
Ett LogConfig-direktiv refererar till ett eller flera INF-skrivardefinierade avsnitt, som var och en anger en logisk konfiguration av maskinvaruresurser – raderna för avbrottsbegäran, minnesintervall, I/O-portar och DMA-kanaler som kan användas av enheten. Varje log-config-section anger en alternativ uppsättning bussrelativa maskinvaruresurser som kan användas av enheten.
[DDInstall] |
[DDInstall.LogConfigOverride]
LogConfig=log-config-section[,log-config-section]...
INF-filer för icke-PnP-enheter använder det här direktivet för att skapa grundläggande konfigurationer.
INF-filer för PnP-enheter använder endast det här direktivet för att skapa åsidosättningskonfigurationer.
Varje namngivet avsnitt som refereras till av ett LogConfig-direktiv har följande formulär:
[log-config-section]
ConfigPriority=priority-value[,config-type]
[DMAConfig=[DMAattrs:]DMANum[,DMANum]...]
[IOConfig=io-range[,io-range]...]
[MemConfig=mem-range[,mem-range]...]
[IRQConfig=[IRQattrs:]IRQNum[,IRQNum]...]
[PcCardConfig=ConfigIndex[:[MemoryCardBase1][:MemoryCardBase2]][(attrs)]]
[MfCardConfig=ConfigRegBase:ConfigOptions[:IoResourceIndex][(attrs)]...]
...
Inlägg
ConfigPriority=priority-value
Anger prioritetsvärdet för den här logiska konfigurationen som något av följande:
ÖNSKAT
Mjuk konfigurerad, mest optimal.
NORMAL
Mjuk konfigurerad, mindre optimal än DESIRED. Det här är den typiska inställningen.
NORMAL bör anges om log-config-section definierades i en DDInstall. LogConfigOverride-avsnittet och inget konfigurationstypvärde kan anges.
SUBOPTIMAL
Mjuk konfigurerad, mindre optimal än NORMAL.
HARDRECONFIG
Kräver en bygeländring för att konfigurera om.
HARDWIRED
Det går inte att ändra.
STARTA OM
Kräver omstart för att börja gälla.
STARTA OM
Det här är samma sak som STARTA om.
POWEROFF
Kräver att effektcykeln börjar gälla.
DISABLED
Maskinvara/enhet är inaktiverad.
DMAConfig=[DMAattrs:]DMANum[**,**DMANum]...]
DMAattrs är valfritt om enheten är ansluten på en buss som bara har 8-bitars DMA-kanaler och enheten använder standardsystem-DMA. Annars kan det vara en av följande bokstäver:
| Brev | Meaning |
|---|---|
| D | 32-bitars DMA |
| W | 16-bitars DMA |
| N | 8-bitars DMA |
Om enheten använder DMA för busshanterare måste du använda M med någon av följande (ömsesidigt uteslutande) bokstäver som anger vilken typ av DMA-kanal som används: A, B eller F. Om varken A, B eller F anges antas en DMA-standardkanal.
DMANum anger en eller flera bussrelativa DMA-kanaler som decimaltal, var och en avgränsad från nästa med kommatecken (,).
IOConfig=io-range[,io-range]...
Anger ett eller flera I/O-portintervall för enheten i något av följande formulär:
start-end[([decode-mask][:alias-offset][:attr])] (Typ 1 I/O-intervall)
start
Anger startadressen för I/O-portintervallet som en 64-bitars hexadecimal adress.
ände
Anger slutadressen för I/O-portintervallet, även som en 64-bitars hexadecimal adress.
avkodningsmask
Definierar aliastypen och kan vara något av följande:
| Maskvärde | Meaning | IOR_Alias värde |
|---|---|---|
| 3ff | 10-bitars avkodning | 0x04 |
| fff | 12-bitars avkodning | 0x10 |
| ffff | 16-bitars avkodning | 0x00 |
| 0 | Positiv avkodning | 0xFF |
aliasförskjutning
Används inte.
attr
Anger bokstaven M om det angivna intervallet finns i systemminnet. Om det utelämnas finns det angivna intervallet i I/O-portutrymmet.
storlek@min-max[%align-mask][([decode-mask][:alias-offset][:attr])] (Typ 2 I/O-intervall)
storlek
Anger antalet byte som krävs för I/O-portintervallet som ett 32-bitars hexadecimalt värde.
min
Anger den lägsta möjliga startadressen för I/O-portintervallet som en 64-bitars hexadecimal adress.
max
Anger den högsta möjliga slutadressen för I/O-portintervallet som en 64-bitars hexadecimal adress.
justera mask
Du kan också ange en 64-bitarsmask som används i en bitvis AND-åtgärd för att justera starten av I/O-portintervallet på en integrerad adressgräns (vanligtvis 32-bitars eller 64-bitars).
avkodningsmask
Definierar aliastypen och kan vara något av följande:
| Maskvärde | Meaning | IOR_Alias värde |
|---|---|---|
| 3ff | 10-bitars avkodning | 0x04 |
| fff | 12-bitars avkodning | 0x10 |
| ffff | 16-bitars avkodning | 0x00 |
| 0 | Positiv avkodning | 0xFF |
aliasförskjutning
Används inte.
attr
Anger bokstaven M om det angivna intervallet finns i systemminnet. Om det utelämnas finns det angivna intervallet i I/O-portutrymmet.
MemConfig=mem-range[,mem-range]...
Anger ett eller flera minnesintervall för enheten i något av följande formulär:
start-end[(attr)] | size@min-max[%align-mask][(attr)]
start
Anger den fysiska startadressen (bussrelativ) för enhetens minnesintervall som ett 64-bitars hexadecimalt värde.
ände
Anger den sista fysiska adressen för minnesintervallet, även som ett 64-bitars hexadecimalt värde.
attr
Anger attributen för minnesintervallet som en eller flera av följande bokstäver:
| Brev | Meaning |
|---|---|
| R | Read-only |
| W | Write-only |
| RW | Läs/skriv |
| C | Kombinerad skrivning tillåts |
| H | Cachebar |
| F | Förinställbar |
| D | Kortdekodnings adressering är 32-bitars, i stället för 24-bitars |
Om både R och W anges eller om inget av dem anges antas läsning/skrivning.
storlek
Anger antalet byte som krävs i minnesintervallet som ett 32-bitars hexadecimalt värde.
min
Anger den lägsta möjliga startadressen för enhetens minnesintervall som ett 64-bitars hexadecimalt värde.
max
Anger den högsta möjliga slutadressen för minnesintervallet som ett 64-bitars hexadecimalt värde.
justera mask
Du kan också ange en 64-bitarsmask som används i en bitvis AND-åtgärd för att justera början av enhetens minnesintervall på en integrerad (vanligtvis 64-bitars) adressgräns.
Om justeringsmask utelämnas är standardinställningen för minne på en 4K-gräns (FFFFF000).
IRQConfig=[IRQattrs:]IRQNum[,IRQNum]...
IRQattrs utelämnas om enheten använder en bussrelativ, kantutlöst IRQ. Annars anger du L för att ange en nivåutlöst IRQ och LS om enheten kan dela de IRQ-rader som anges i den här posten.
IRQNum anger en eller flera bussrelativa IRQ:er som enheten kan använda som decimaltal, var och en avgränsad från nästa med kommatecken (,).
PcCardConfig=ConfigIndex[:[MemoryCardBase1][:MemoryCardBase2]][(attrs)]
Konfigurerar CardBus-register och/eller skapar upp till två permanenta minnesfönster som mappar till enhetens attribututrymme. En drivrutin kan använda minnesfönstren för att komma åt attribututrymmet från en ISR. Ange alla numeriska värden i hexadecimalt format.
Elementen i en PcCardConfig-post är följande:
ConfigIndex
Anger 8-bitars PCMCIA-konfigurationsindexet för en enhet på en PCMCIA-buss.
MemoryCardBase1
Du kan också ange en 32-bitars basadress för ett första minnesfönster.
MemoryCardBase2
Du kan också ange en 32-bitars basadress för ett andra minnesfönster.
attrs
Du kan också ange ett eller flera attribut för enheten, avgränsade med blanksteg. En ogiltig attributspecificerare ogiltigförklarar hela PcCardConfig-posten . Om mer än en specificerare för ett visst attribut tillhandahålls tillämpas attributen på enskilda I/O- eller minnesfönster för enheten. Om endast en specificerare anges tillämpas det attributet på alla fönster (se följande exempel).
Mer specifikt, om flera specificerare anges, tillämpas den första specificeraren som läser från vänster till höger på det första fönstret och nästa specificerare tillämpas på det andra fönstret. Högst två I/O-fönster och två minnesfönster kan styras av en enda PcCardConfig-post . Om enheten har fler än två minnesfönster måste en andra PcCardConfig-post inkluderas.
Attributen omfattar:
| Attribute | Description |
|---|---|
| W | 16-bitars I/O-datasökväg. Standardvärdet är 8-bitars om INF anger ett LogConfig-direktiv . Om inget LogConfig-direktiv anges använder drivrutinen 16-bitars I/O. |
| Sn | ~IOCS16-källa. Om n är 0 baseras ~IOCS16 på värdet för datastorleksbiten. Om n är 1 baseras ~IOCS16 på ~IOIS16-signalen från enheten. Standardvärdet är S1. |
| Zn | I/O 8-bitars, noll väntetillstånd. Om n är 1 sker 8-bitars I/O-åtkomster utan ytterligare väntetillstånd. Om n är 0 sker åtkomst med ytterligare väntetillstånd. Den här flaggan har ingen betydelse för 16-bitars I/O. Standardvärdet är Z0. |
| Xln | I/O-väntetillstånd. Om n är 1 sker 16-bitars systemåtkomster med ytterligare ett väntetillstånd. Standardvärdet är Xl1. |
| M | 16-bitars sökväg för minnesdata. Standardvärdet är 8-bitars. |
| M8 | Sökväg för 8-bitars minnesdata. |
| XMn | Minnesväntetillstånd, där n kan vara 0, 1, 2 eller 3. Det här värdet avgör antalet ytterligare väntetillstånd för 16-bitars åtkomst till ett minnesfönster. Standardvärdet är XM3. |
| A | Minnesintervall som ska mappas som attributminne. |
| C | Minnesintervall som ska mappas som Gemensamt minne (standard). |
Till exempel översätter ett attrs-värde (WB CA M XM1 XI0) till följande:
1st I/O window is 16-bit
2nd I/O window 8-bit
1st memory window is common
2nd memory window is attribute
Memory is 16-bit
One wait state on memory windows
Zero wait states on I/O windows
MfCardConfig=ConfigRegBase:ConfigOptions[:IoResourceIndex][(attrs)]...
Anger platsen för attributminnet för uppsättningen konfigurationsregister för en funktion av en multifunktionsenhet enligt följande:
ConfigRegBase
Anger attributförskjutningen för konfigurationsregistren för den här funktionen för multifunktionsenheten.
ConfigOptions
Anger konfigurationsalternativet 8-bitars PCMCIA- register.
IoResourceIndex
Anger indexet för IOConfig-posten för bussdrivrutinen som ska användas vid programmering av konfigurations-I/O-bas- och gränsregister. Det här indexet är nollbaserat, d.v.s. noll anger den första IOConfig-posten i det här loggkonfigurationsavsnittet.
attrs
Om värdet är inställt på bokstaven A instruerar du PCMCIA-bussdrivrutinen att aktivera ljudaktivering i konfigurations- och statusregistren.
Varje MfCardConfig-post innehåller information om en enskild funktion av multifunktionsenheten. När en uppsättning LogConfig-direktiv refererar varje referens till ett diskret log-config-section i INF:s DDInstall. LogConfigOverride-avsnittet , varje log-config-section måste ha sina poster, inklusive MfCardConfig-poster , listade i samma ordning.
Remarks
Ett LogConfig-direktiv kan anges under alla inf DDInstall-avsnitt per tillverkare, per modell eller INF DDInstall. Avsnittet LogConfigOverride.
En INF för en icke-PnP-enhet som stöder flera alternativa logiska konfigurationer definierar vanligtvis en uppsättning log-config-section under ett DDInstall-avsnitt . Varje log-config-section anger en diskret uppsättning logiska konfigurationsresurser. Den innehåller också en ConfigPriority-post , som rangordnar varje logisk konfiguration enligt dess effekter på enhetens och drivrutinsprestandan, enkel initiering och så vidare.
För PnP-enheter tilldelar PnP-hanteraren en uppsättning logiska maskinvaruresurser till varje PnP-enhet. Det innebär att PnP-hanteraren frågar systembussdrivrutinerna, tar emot sina rapporter om I/O Bus-konfigurationsresurser per enhet som används och tilldelar uppsättningar logiska maskinvaruresurser per enhet för att uppnå den bästa systemomfattande balansen i användningen av alla sådana resurser.
Därför ignoreras LogConfig-direktivet under ett DDInstall-avsnitt för PnP-enheter. Om du vill åsidosätta de resurser som rapporterats av bussen för en PnP-enhet inkluderar du LogConfig-direktivet under en DDInstall. Avsnittet LogConfigOverride . I det här fallet används de resurser som anges i avsnittet log-config-i stället för de som rapporteras av bussen.
Plattformstillägg kan läggas till i ett DDInstall-avsnitt som innehåller ett LogConfig-direktiv eller till en DDInstall. Avsnittet LogConfigOverride för att ange plattformsspecifika eller OS-specifika logiska konfigurationer. Mer information finns i Skapa en INF-fil.
Ett angivet namn på log-config-section måste vara unikt för INF-filen, men det kan refereras till av LogConfig-direktiv i andra INF DDInstall-avsnitt för samma enheter. Varje INF-skrivskyddat avsnittsnamn måste vara unikt i INF-filen och måste följa de allmänna reglerna för att definiera avsnittsnamn. Mer information om dessa regler finns i Allmänna syntaxregler för INF-filer.
Endast en ConfigPriority-post kan användas i varje log-config-section. Det kan finnas fler än en av de andra posterna, beroende på enhetens maskinvaruresurskrav.
En eller flera MfCardConfig= -poster kan bara visas i ett log-config-section som refereras till av ett LogConfig-direktiv i DDInstall. Avsnittet LogConfigOverride i en INF för en multifunktionsenhet. Mer information om INF-filer för multifunktionsenheter finns i Stöd för multifunktionsenheter.
LogConfig-Referenced avsnittsposter och värden
Från ett log-config-section skapar systeminstallationsprogrammet binära logiska konfigurationsposter och lagrar dem i registret.
En INF-fil kan innehålla valfritt antal log-config-sections per enhet. Varje sådant avsnitt måste dock innehålla fullständig information för att installera en enhet. I allmänhet bör INF ange posterna i vart och ett av dess log-config-sections i samma ordning. INF bör ange varje uppsättning poster i den ordning som passar bäst för hur drivrutinen initierar sin enhet.
Om det finns fler än ett log-config-section för en viss enhet används endast ett av dessa INF-avsnitt under installationen. En sådan INF-fil styr delvis vilket sådant avsnitt som används med det ConfigPriority-värde som det tillhandahåller i varje sådant log-config-section. Det vill:s systeminstallationsprogram försöker uppfylla alla konfigurationsprioriteringar i en INF-fil, men kan välja en lägre rangordnad logisk konfiguration om en konflikt med en redan installerad enhet hittas.
Under installationen väljs en och endast en resurs från varje post i ett visst log-config-section och tilldelas till en viss enhet. Om en viss enhet behöver mer än en resurs av samma typ måste en uppsättning poster av den typen användas i dess log-config-sections.
För att till exempel säkerställa två I/O-portintervall för en viss enhet måste två IOConfig= -poster anges i avsnittet log-config-för den enheten. Om en enhet däremot inte kräver någon IRQ kan dess INF utelämna IRQConfig-posten från log-config-sections.
Examples
I det här exemplet visas några giltiga PcCardConfig-poster för en PCMCIA-enhet.
PcCardConfig=0:E0000:F0000(W)
PcCardConfig=0:E0000(M)
PcCardConfig=0::(W)
PcCardConfig=0(W)
Det här exemplet visar en I/O-intervallspecifikation av typ 1 i en IOConfig-post . Den anger en I/O-portregion, åtta byte i storlek, som kan starta vid 1F8, 2F8 eller 3F8.
IOConfig=1F8-1FF, 2F8-2FF, 3F8-3FF
Det här exemplet visar däremot en I/O-intervallspecifikation av typ 2 i en IOConfig-post . Den anger en I/O-portregion, åtta byte i storlek, som kan starta vid 300, 308, 310, 318, 320 eller 328.
IOConfig=8@300-32F%FF8
Det här exemplet visar en uppsättning IOConfig-poster för en enhet med fyra portar, som var och en anger ett I/O-portintervall som förskjuts av 0x400 byte från nästa.
IoConfig=0x200-0x21f
IoConfig=0x600-0x61f
IoConfig=0xA00-0xA1f
IoConfig=0xE00-0xE1f
Följande två exempel visar typiska MemConfig-poster .
Det här exemplet anger en minnesregion på 32 000 byte som kan starta vid C0000 eller D0000.
MemConfig=C0000-C7FFF, D0000-D7FFF
Det här exemplet anger en minnesregion på 32 000 byte som börjar på 64 000 gränser.
MemConfig=8000@C0000-D7FFF%F0000
Det här exemplet visar hur SYSTEM HDC-klassens INF-fil konfigurerar flera log-config-sections för generiska ESDI-hårddiskstyrenheter och använder en DDInstall. Avsnittet LogConfigOverride för en viss IDE-styrenhet.
[MS_HDC] ; per-manufacturer Models section
%FujitsuIdePccard.DeviceDesc% =
atapi_fujitsu_Inst, PCMCIA\FUJITSU-IDE-PC_CARD-DDF2
%*PNP0600.DeviceDesc% = atapi_Inst, *PNP0600 ; generic ESDI HDCs
; ... other manufacturers' Models sections omitted
[atapi_Inst]
CopyFiles = @atapi.sys
LogConfig = esdilc1, esdilc2, esdilc3, esdilc4
; ... [atapi_Inst.Services] + service/EventLog-install omitted here
[esdilc1]
ConfigPriority=HARDWIRED
IOConfig=1f0-1f7(3ff::)
IoConfig=3f6-3f6(3ff::)
IRQConfig=14
[esdilc2]
ConfigPriority=HARDWIRED
IOConfig=170-177(3ff::)
IoConfig=376-376(3ff::)
IRQConfig=15
[esdilc3]
ConfigPriority=HARDWIRED
IOConfig=1e8-1ef(3ff::)
IoConfig=3ee-3ee(3ff::)
IRQConfig=11
[esdilc4]
; ...
[atapi_fujitsu_Inst.LogConfigOverride]
LogConfig = fujitsu.LogConfig0
[fujitsu.LogConfig0]
ConfigPriority=NORMAL
IOConfig=10@100-400%fff0
IRQConfig=14,15,5,7,9,11,12,3
PcCardConfig=1:0:0(W)
Några exempel på hur MfCardConfig-poster används finns i Stöd för PC-kort som har ofullständiga konfigurationsregisteradresser.