Condividi tramite


Schede PC con indirizzi di registro di configurazione incompleti

Se un dispositivo scheda PC a 16 bit multifunzione dispone di registri di configurazione per ogni funzione, ma non contiene puntatori in memoria di tutti i set di registri (non supporta la tupla LONGLINK_MFC), il fornitore di tale dispositivo può usare il driver del bus multifunzione fornito dal sistema (mf.sys), ma deve fornire un file INF personalizzato e il supporto per le singole funzioni.

Il fornitore di tale dispositivo in una piattaforma basata su NT può usare un driver di funzione fornito dal sistema per il dispositivo multifunzione.

Un INF personalizzato per il dispositivo deve specificare mf.sys come driver di funzione per il dispositivo. Il driver di mf.sys fornito dal sistema enumera quindi le funzioni del dispositivo.

Per altre informazioni sull'uso del driver System-Supplied bus multifunzione, vedere Uso del driver mf.sys fornito dal sistema.

Il fornitore di tale dispositivo deve fornire quanto segue:

  • File INF personalizzato per il dispositivo multifunzione. (fornito dal fornitore)

    Il fornitore deve fornire un file INF multifunzione che specifica mf.sys come driver del bus multifunzione, specifica la classe "MultiFunction" (con il GUID associato definito in devguid.h) e fornisce l'indirizzo di registro di configurazione mancante(es). Vedere altre informazioni più avanti in questa sezione.

  • Driver di funzione PnP per ogni funzione del dispositivo. (fornito dal fornitore)

    Poiché il driver del bus multifunzione gestisce la semantica multifunzione, i driver di funzione possono essere gli stessi driver usati quando le funzioni vengono in pacchetto come singoli dispositivi.

  • File INF per ogni funzione del dispositivo. (fornito dal fornitore)

    I file INF possono essere gli stessi file usati quando le funzioni vengono in pacchetto come singoli dispositivi. I file INF non richiedono alcuna semantica multifunzione speciale.

L'INF personalizzato per tale dispositivo multifunzione deve contenere almeno una sezione INF DDInstall.LogConfigOverride. La sezione override deve contenere una voce MfCardConfig per ogni funzione, identificando il percorso di ogni set di registri di configurazione.

L'INF deve riscrivere tutti i requisiti di risorsa specificati dal dispositivo perché se le configurazioni di override sono presenti in INF, la gestione PnP non usa alcun requisito di risorsa del dispositivo dal dispositivo.

Specificare le voci MfCardConfig usando la sintassi descritta nella direttiva INF LogConfig.

Si consideri ad esempio l'estratto seguente da un INF personalizzato per un dispositivo scheda PC multifunzione che contiene un modem e una scheda di rete:

;...
 
[DDInstall.LogConfigOverride]
LogConfig = DDInstall.Override0
 
[DDInstall.Override0]
IOConfig     =    3F8-3FF                  ; Com1
IOConfig     =    10@100-FFFF%FFF0         ; NIC I/O
IRQConfig    =    3,4,5,7,9,10,11          ; IRQ
MemConfig    =    2000@0-FFFFFFFF%FFFFE000 ; Memory Descriptor 0
MemConfig    =    1000@0-FFFFFFFF%FFFFF000 ; Memory Descriptor 1
MfCardConfig =    1000:47:0(A)
MfCardConfig =    1080:47:1
;...

L'esempio mostra due voci MfCardConfig , una per ogni funzione del dispositivo. La prima voce MfCardConfig contiene le informazioni seguenti:

1000 (ConfigRegBase)
Specifica che è presente un set di registri di configurazione nella memoria dell'attributo della scheda in corrispondenza dell'offset 0x1000. In questo esempio le informazioni contenute in questi registri descrivono la funzione modem sulla scheda.

47 (ConfigOptions)
Specifica il valore esadecimale per il driver del bus da programmare nell'opzione di configurazione registrare all'offset ConfigRegBase (0x1000).

0 (IoConfigIndex)
Specifica che le risorse di I/O per questa funzione sono elencate nella prima voce IOConfig in questa sezione. Un indice pari a zero indica la prima voce, che in questo esempio è "IOConfig = 3F8-3FF".

A (attrs)
Indirizza il driver del bus per attivare l'audio per questa funzione, che è tipico per un modem.

La seconda voce MfCardConfig contiene informazioni sulla seconda funzione del dispositivo (scheda di rete, in questo esempio). Questa voce specifica che è presente un secondo set di registri di configurazione in corrispondenza dell'offset 0x1080. Il driver del bus scriverà il valore ConfigOptions di 0x47 nella registrazione dell'opzione di configurazione per questa funzione. Il valore IoConfigIndex di uno indirizza il driver del bus a usare la seconda voce IOConfig in questa sezione (IOConfig = 10@100-FFFF%FFF0) per programmare la base I/O e limitare i registri per questa funzione.

Includere più DDInstall. Eseguire l'override della sezione N in INF per specificare più di una scelta di intervalli di porte I/O non sequenziali.

Se il dispositivo usa una finestra di memoria non basata su zero, DDInstall. Le sezioni Ndi override devono includere anche una voce PcCardConfig. Se una sezione override include sia una voce MfCardConfig che una voce PcCardConfig , il driver del bus PCMCIA ignora il valore ConfigIndex nella voce PcCardConfig e usa solo le informazioni MemoryCardBaseN . Per altre informazioni sulla voce PcCardConfig, vedere Supporto di schede PC con registri di configurazione incompleti.