Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Caution
Vanaf Windows 11 versie 22H2 komt een stuurprogrammapakket met deze richtlijn niet meer in aanmerking voor een handtekening van Hardware Developer Center.
Universele stuurprogrammapakketten en Windows Drivers kunnen deze richtlijn niet gebruiken.
Een LogConfig-instructie verwijst naar een of meer INF-writer-gedefinieerde secties, die elk een logische configuratie van hardwareresources specificeren - de interruptaanvraaglijnen, geheugenbereiken, I/O-poorten en DMA-kanalen die door het apparaat kunnen worden gebruikt. Elke log-config-section geeft een alternatieve set bus-relatieve hardwarebronnen op die door het apparaat kunnen worden gebruikt.
[DDInstall] |
[DDInstall.LogConfigOverride]
LogConfig=log-config-section[,log-config-section]...
INF-bestanden voor niet-PnP-apparaten gebruiken deze instructie om basisconfiguraties te maken.
INF-bestanden voor PnP-apparaten gebruiken deze instructie alleen om onderdrukkingsconfiguraties te maken.
Elke benoemde sectie waarnaar wordt verwezen door een LogConfig-instructie heeft de volgende vorm:
[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)]...]
...
Invoer
ConfigPriority=prioriteitswaarde
Hiermee geeft u de prioriteitswaarde voor deze logische configuratie op als een van de volgende:
GEWENST
Zacht geconfigureerd, meest optimaal.
NORMAL
Zacht geconfigureerd, minder optimaal dan GEWENST. Dit is de typische instelling.
NORMAL moet worden opgegeven als de log-config-sectie is gedefinieerd in een DDInstall. De sectie LogConfigOverride en er kan geen waarde voor het configuratietype worden opgegeven.
SUBOPTIMAAL
Zacht geconfigureerd, minder optimaal dan NORMAAL.
HARDRECONFIG
Vereist een jumperwijziging om opnieuw te configureren.
HARDWIRED
Kan niet worden gewijzigd.
HERSTARTEN
Opnieuw opstarten vereist om van kracht te worden.
OPNIEUW OPSTARTEN
Dit is hetzelfde als OPNIEUW OPSTARTEN.
POWEROFF
Hiervoor moet de stroomcyclus van kracht worden.
DISABLED
Hardware/apparaat is uitgeschakeld.
DMAConfig=[DMAattrs:]DMANum[**,**DMANum]...]
DMAattrs is optioneel als het apparaat is verbonden op een bus met slechts 8-bits DMA-kanalen en het apparaat gebruikmaakt van standaardsysteem-DMA. Anders kan het een van de volgende letters zijn:
| Letter | Meaning |
|---|---|
| D | 32-bits DMA |
| W | 16-bits DMA |
| N | 8-bits DMA |
Als het apparaat DMA van busmaster gebruikt, moet u M gebruiken met een van de volgende (wederzijds exclusieve) letters die het type DMA-kanaal aangeeft dat wordt gebruikt: A, B of F. Als geen van beide A, B of F is opgegeven, wordt ervan uitgegaan dat er een standaard DMA-kanaal wordt gebruikt.
DMANum geeft een of meer bus-relatieve DMA-kanalen op als decimale getallen, die elk zijn gescheiden van de volgende door een komma (,).
IOConfig=io-range[,io-range]...
Hiermee geeft u een of meer I/O-poortbereiken voor het apparaat op, in een van de volgende formulieren:
start-end[([decode-mask][:alias-offset][:attr])] (Type 1 I/O-bereik)
begin
Hiermee geeft u het beginadres van het I/O-poortbereik op als een 64-bits hexadecimaal adres.
einde
Hiermee geeft u het eindadres van het I/O-poortbereik, ook als een 64-bits hexadecimaal adres.
decoderen-masker
Definieert het aliastype en kan een van de volgende zijn:
| Maskerwaarde | Meaning | IOR_Alias waarde |
|---|---|---|
| 3ff | 10-bits decodering | 0x04 |
| fff | 12-bits decodering | 0x10 |
| ffff | 16-bits decodering | 0x00 |
| 0 | Positieve decodering | 0xFF |
alias-offset
Niet gebruikt.
attr
Hiermee geeft u de letter M op als het opgegeven bereik zich in het systeemgeheugen bevindt. Als u dit weglaat, bevindt het opgegeven bereik zich in de I/O-poortruimte.
grootte@min-max[%align-mask][[decode-mask][:alias-offset][:attr])] (Type 2 I/O-bereik)
grootte
Hiermee geeft u het aantal bytes op dat is vereist voor het I/O-poortbereik als een hexadecimale waarde van 32 bits.
min
Hiermee geeft u het laagst mogelijke beginadres van het I/O-poortbereik op als een 64-bits hexadecimaal adres.
max
Hiermee geeft u het hoogst mogelijke eindadres van het I/O-poortbereik op als een 64-bits hexadecimaal adres.
align-mask
Geeft desgewenst een 64-bitsmasker op dat wordt gebruikt in een bitwise AND-bewerking om het begin van het I/O-poortbereik op een integrale adresgrens (meestal 32-bits of 64-bits) uit te lijnen.
decoderen-masker
Definieert het aliastype en kan een van de volgende zijn:
| Maskerwaarde | Meaning | IOR_Alias waarde |
|---|---|---|
| 3ff | 10-bits decodering | 0x04 |
| fff | 12-bits decodering | 0x10 |
| ffff | 16-bits decodering | 0x00 |
| 0 | Positieve decodering | 0xFF |
alias-offset
Niet gebruikt.
attr
Hiermee geeft u de letter M op als het opgegeven bereik zich in het systeemgeheugen bevindt. Als u dit weglaat, bevindt het opgegeven bereik zich in de I/O-poortruimte.
MemConfig=mem-range[,mem-range]...
Hiermee geeft u een of meer geheugenbereiken voor het apparaat op in een van de volgende formulieren:
start-end[(attr)] | size@min-max[%align-mask][(attr)]
begin
Hiermee geeft u het begin (bus-relatieve) fysieke adres van het geheugenbereik van het apparaat op als een 64-bits hexadecimale waarde.
einde
Hiermee geeft u het eind fysieke adres van het geheugenbereik, ook als een 64-bits hexadecimale waarde.
attr
Hiermee geeft u de kenmerken van het geheugenbereik op als een of meer van de volgende letters:
| Letter | Meaning |
|---|---|
| R | Read-only |
| W | Write-only |
| RW | Lezen/schrijven |
| C | Gecombineerde schrijfbewerking is toegestaan |
| H | Cachebaar |
| F | Prefetchable |
| D | Adressering van kaartcode is 32-bits, in plaats van 24-bits |
Als zowel R als W zijn opgegeven of als geen van beide is opgegeven, wordt uitgegaan van lezen/schrijven.
grootte
Hiermee geeft u het aantal bytes dat in het geheugenbereik is vereist als een 32-bits hexadecimale waarde.
min
Hiermee geeft u het laagst mogelijke beginadres van het geheugenbereik van het apparaat op als een 64-bits hexadecimale waarde.
max
Hiermee geeft u het hoogst mogelijke eindadres van het geheugenbereik op als een 64-bits hexadecimale waarde.
align-mask
Hiermee geeft u desgewenst een 64-bitsmasker op dat wordt gebruikt in een bitwise AND-bewerking om het begin van het geheugenbereik van het apparaat uit te lijnen op een integrale adresgrens (meestal 64-bits).
Als uitlijningsmasker wordt weggelaten, bevindt de standaardgeheugenuitlijning zich op een 4K-grens (FFFFF000).
IRQConfig=[IRQattrs:]IRQNum[,IRQNum]...
IRQattrs wordt weggelaten als het apparaat gebruikmaakt van een bus-relatieve, edge-geactiveerde IRQ. Geef anders L op om een door niveau geactiveerde IRQ en LS aan te geven als het apparaat de IRQ-regels kan delen die in deze vermelding worden vermeld.
IRQNum specificeert een of meer bus-relatieve IRQs die het apparaat kan gebruiken als decimale getallen, die elk gescheiden zijn van de volgende door een komma (,).
PcCardConfig=ConfigIndex[:[MemoryCardBase1][:MemoryCardBase2]][(attrs)]
Hiermee configureert u CardBus-registers en/of maakt u maximaal twee permanente geheugenvensters die zijn toegewezen aan de kenmerkruimte van het apparaat. Een stuurprogramma kan de geheugenvensters gebruiken om toegang te krijgen tot de kenmerkruimte van een ISR. Geef alle numerieke waarden op in hexadecimale notatie.
De elementen van een PcCardConfig-vermelding zijn als volgt:
ConfigIndex
Hiermee geeft u de 8-bits PCMCIA-configuratie-index voor een apparaat op een PCMCIA-bus.
MemoryCardBase1
Geeft desgewenst een 32-bits basisadres op voor een eerste geheugenvenster.
MemoryCardBase2
U kunt desgewenst een 32-bits basisadres opgegeven voor een tweede geheugenvenster.
attrs
U kunt desgewenst een of meer kenmerken voor het apparaat opgegeven, gescheiden door spaties. Een ongeldig kenmerkaanduiding ongeldig maakt de hele PcCardConfig-vermelding ongeldig. Als er meer dan één aanduiding voor een bepaald kenmerk wordt opgegeven, worden de kenmerken toegepast op afzonderlijke I/O- of geheugenvensters voor het apparaat. Als er slechts één aanduiding wordt opgegeven, wordt dat kenmerk toegepast op alle vensters (zie het volgende voorbeeld).
Als er meerdere aanduidingen worden opgegeven, wordt de eerste aanduiding gevonden die van links naar rechts wordt gelezen, toegepast op het eerste venster en wordt de volgende aanduiding toegepast op het tweede venster. Maximaal twee I/O-vensters en twee geheugenvensters kunnen worden beheerd door één PcCardConfig-vermelding . Als het apparaat meer dan twee geheugenvensters heeft, moet er een tweede PcCardConfig-vermelding worden opgenomen.
De kenmerken zijn onder andere:
| Attribute | Description |
|---|---|
| W | 16-bits I/O-gegevenspad. De standaardwaarde is 8-bits als de INF een LogConfig-instructie opgeeft. Als er geen LogConfig-instructie is opgegeven, gebruikt het stuurprogramma 16-bits I/O. |
| Sn | ~IOCS16-bron. Als n 0 is, is ~IOCS16 gebaseerd op de waarde van de gegevensgrootte-bit. Als n 1 is, is ~IOCS16 gebaseerd op het ~IOIS16-signaal van het apparaat. De standaardwaarde is S1. |
| Zn | I/O 8-bits, nul wachtstatus. Als n 1 is, treden 8-bits I/O-toegangen op met nul extra wachtstatussen. Als n 0 is, treedt de toegang op met extra wachtstatussen. Deze vlag heeft geen betekenis voor 16-bits I/O. De standaardwaarde is Z0. |
| Xln | I/O-wachtstatussen. Als n 1 is, treden 16-bits systeemtoegang op met één extra wachtstatus. De standaardwaarde is Xl1. |
| M | 16-bits geheugengegevenspad. De standaardwaarde is 8-bits. |
| M8 | 8-bits geheugengegevenspad. |
| XMn | Geheugenwachtstatussen, waarbij n 0, 1, 2 of 3 kan zijn. Deze waarde bepaalt het aantal extra wachtstatussen voor 16-bits toegang tot een geheugenvenster. De standaardwaarde is XM3. |
| A | Geheugenbereik dat moet worden toegewezen als kenmerkgeheugen. |
| C | Geheugenbereik dat moet worden toegewezen als Algemeen geheugen (standaard). |
Een attrs-waarde van (WB CA M XM1 XI0) wordt bijvoorbeeld omgezet in het volgende:
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)]...
Hiermee geeft u de locatie van het kenmerkgeheugen van de set configuratieregisters voor één functie van een multifunctioneel apparaat, als volgt:
ConfigRegBase
Hiermee geeft u de kenmerkverschuiving van de configuratieregisters voor deze functie van het multifunctioneel apparaat.
ConfigOptions
Hiermee geeft u de 8-bits PCMCIA-configuratieoptie registreren.
IoResourceIndex
Hiermee geeft u de index voor de IOConfig-vermelding voor het busstuurprogramma te gebruiken bij het programmeren van de I/O-basisconfiguratie en limietregisters. Deze index is gebaseerd op nul, dat wil gezegd: nul wijst de initiële IOConfig-vermelding in deze log-config-sectie aan.
attrs
Als deze optie is ingesteld op de letter A, stuurt u het PCMCIA-busstuurprogramma om audio in te schakelen in de configuratie- en statusregisters.
Elke MfCardConfig-vermelding levert informatie over één functie van het multifunctionele apparaat. Wanneer een set LogConfig-instructies elk verwijst naar een discrete log-config-sectie in de DDInstall van de INF. LogConfigOverride-sectie , elke log-config-section moet de vermeldingen hebben, inclusief MfCardConfig-vermeldingen , vermeld in dezelfde volgorde.
Remarks
Een LogConfig-instructie kan worden opgegeven onder elke fabrikant, per model INF DDInstall-sectie of INF DDInstall. LogConfigOverride-sectie.
Een INF voor een niet-PnP-apparaat dat ondersteuning biedt voor verschillende alternatieve logische configuraties definieert doorgaans een set logboekconfiguratiesecties onder een DDInstall-sectie . Elke log-config-section specificeert een discrete set logische configuratieresources. Het bevat ook een ConfigPriority-vermelding , die elke logische configuratie rangschikt op basis van de effecten op de prestaties van apparaten en stuurprogramma's, het gemak van initialisatie, enzovoort.
Voor PnP-apparaten wijst de PnP-manager een set logische hardwarebronnen toe aan elk PnP-apparaat. Dat wil gezegd, de PnP-manager vraagt de systeembusstuurprogramma's op, ontvangt de rapporten van I/O-busconfiguratiebronnen per apparaat in gebruik en wijst per apparaat sets logische hardwarebronnen toe om het beste systeembrede evenwicht te bereiken in het gebruik van al deze resources.
Als gevolg hiervan wordt de LogConfig-instructie onder een DDInstall-sectie genegeerd voor PnP-apparaten. Als u de resources wilt overschrijven die door de bus voor een PnP-apparaat zijn gerapporteerd, neemt u de LogConfig-instructie onder een DDInstall op. LogConfigOverride-sectie . In dit geval worden de resources die zijn opgegeven in de logboekconfiguratiesectie gebruikt in plaats van de resources die door de bus worden gerapporteerd.
Platformextensies kunnen worden toegevoegd aan een DDInstall-sectie met een LogConfig-instructie of aan een DDInstall. De sectie LogConfigOverride om platformspecifieke of os-specifieke logische configuraties op te geven. Zie Een INF-bestand maken voor meer informatie.
Een bepaalde log-config-section-naam moet uniek zijn voor het INF-bestand, maar kan worden verwezen door LogConfig-instructies in andere INF DDInstall-secties voor dezelfde apparaten. Elke door INF-schrijver gemaakte sectienaam 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.
Er kan slechts één ConfigPriority-vermelding worden gebruikt in elke log-config-sectie. Er kunnen meer dan één van de andere vermeldingen zijn, afhankelijk van de hardwareresourcevereisten van het apparaat.
Een of meer MfCardConfig= vermeldingen kunnen alleen worden weergegeven in een log-config-sectie waarnaar wordt verwezen door een LogConfig-instructie in de DDInstall. LogConfigOverride-sectie van een INF voor een multifunctioneel apparaat. Zie Ondersteunende multifunctionele apparaten voor meer informatie over INF-bestanden voor multifunctionele apparaten.
LogConfig-Referenced sectievermeldingen en -waarden
Vanuit een logboekconfiguratiesectie bouwt het systeeminstallatieprogramma binaire logische configuratierecords en slaat deze op in het register.
Een INF-bestand kan een willekeurig aantal logboekconfiguratiesecties per apparaat bevatten. Elke sectie moet echter volledige informatie bevatten voor het installeren van één apparaat. Over het algemeen moet de INF de vermeldingen in elk van de logboekconfiguratiesecties in dezelfde volgorde opgeven. De INF moet elke set vermeldingen opgeven in de volgorde die het meest geschikt is voor de initialisatie van het apparaat door het stuurprogramma.
Als er meer dan één logboekconfiguratiesectie aanwezig is voor een bepaald apparaat, wordt slechts één van deze INF-secties gebruikt tijdens de installatie. Een dergelijk INF-bestand bepaalt gedeeltelijk welke sectie wordt gebruikt met de ConfigPriority-waarde die in elk van deze logboekconfiguratiesecties wordt geleverd. Dat wil gezegd: de systeeminstallatieprogramma's proberen eventuele configuratieprioriteiten in een INF-bestand te respecteren, maar kunnen een lagere logische configuratie selecteren als er een conflict is met een al geïnstalleerd apparaat.
Tijdens de installatie wordt één en slechts één resource uit elke vermelding in een bepaalde logboekconfiguratiesectie geselecteerd en toegewezen aan een bepaald apparaat. Als een bepaald apparaat meer dan één resource van hetzelfde type nodig heeft, moet een set vermeldingen van dat type worden gebruikt in de logboekconfiguratiesecties.
Als u er bijvoorbeeld voor wilt zorgen dat twee I/O-poortbereiken voor een bepaald apparaat worden opgegeven, moeten twee IOConfig= vermeldingen worden opgegeven in de sectie log-config voor dat apparaat. Als voor een apparaat echter geen IRQ is vereist, kan de INF de VERMELDING IRQConfig weglaten uit de logboekconfiguratiesecties.
Examples
In dit voorbeeld ziet u enkele geldige PcCardConfig-vermeldingen voor een PCMCIA-apparaat.
PcCardConfig=0:E0000:F0000(W)
PcCardConfig=0:E0000(M)
PcCardConfig=0::(W)
PcCardConfig=0(W)
In dit voorbeeld ziet u een type 1 I/O-bereikspecificatie in een IOConfig-vermelding . Hiermee geeft u een I/O-poortregio op, acht bytes in grootte, die kan beginnen bij 1F8, 2F8 of 3F8.
IOConfig=1F8-1FF, 2F8-2FF, 3F8-3FF
In dit voorbeeld ziet u daarentegen een type 2 I/O-bereikspecificatie in een IOConfig-vermelding . Hiermee geeft u een I/O-poortregio op, acht bytes in grootte, die kan beginnen bij 300, 308, 310, 318, 320 of 328.
IOConfig=8@300-32F%FF8
In dit voorbeeld ziet u een set IOConfig-vermeldingen voor een apparaat met vier poorten, waarbij elk een I/O-poortbereik opgeeft dat wordt verschoven door 0x400 bytes van de volgende.
IoConfig=0x200-0x21f
IoConfig=0x600-0x61f
IoConfig=0xA00-0xA1f
IoConfig=0xE00-0xE1f
In de volgende twee voorbeelden ziet u typische MemConfig-vermeldingen .
In dit voorbeeld wordt een geheugenregio van 32.000 bytes opgegeven die kan beginnen bij C0000 of D0000.
MemConfig=C0000-C7FFF, D0000-D7FFF
In dit voorbeeld wordt een geheugenregio opgegeven van 32.000 bytes vanaf 64.000 grenzen.
MemConfig=8000@C0000-D7FFF%F0000
In dit voorbeeld ziet u hoe het INF-systeemklasse INF-bestand verschillende logboekconfiguratiesecties instelt voor algemene ESDI-hardeschijfcontrollers en een DDInstall gebruikt. LogConfigOverride-sectie voor een bepaalde IDE-controller.
[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)
Zie Ondersteunende pc-kaarten met onvolledige configuratieregisteradressen voor enkele voorbeelden van hoe MfCardConfig-vermeldingen worden gebruikt.