BUG: La PC Card di tipo parallelo non ottiene risorse di input/output

Il supporto per Windows XP è terminato

Il supporto Microsoft per Windows XP è terminato l'8 aprile 2014. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I313580
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
Un driver per una PC Card con codice funzioneParallelonon riceve alcuna risorsa nel proprio IRP_MN_START_DEVICE in Windows XP. Questo solitamente fa sì che il gestore del pacchetto di richiesta di input/output (IRP) Plug and Play (PNP) non riesca a portare a buon fine IRP_MN_START_DEVICE, con il risultato che in Gestione periferiche la periferica sarà contrassegnata da un punto esclamativo giallo e dal codice di errore 10.

Tuttavia, se IRP_MN_START_DEVICE ha esito favorevole per il driver, è possibile che la periferica venga visualizzata come avviata correttamente, sebbene le risorse associate risultino mancanti o incomplete.
Cause
Il driver del bus PCMCIA di Windows XP contrassegna come non valida qualsiasi tupla di configurazione che appartenga a una periferica con tupla di ID funzione (21) codice 3 (Parallelo), che non possiedasolodue intervalli di porte di I/O o la cui tupla di configurazione richieda qualsiasi intervallo di memoria.

Ad esempio, una porta parallela implementata in una PC Card che richiede intervalli di porte di I/O comuni per LPT1, LPT2 o LPT3, troverà tutte le proprie tuple di configurazione contrassegnate come non valide. Questo fa sì che il sistema non assegni alcuna risorsa alla periferica. Il driver rileva che IRP_MN_START_DEVICE presenta un elenco di risorse vuoto e pertanto questo IRP non avrà esito favorevole per il driver.
Risoluzione
Per risolvere il problema, procurarsi l'ultimo Service Pack per Windows XP. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322389 How to Obtain the Latest Windows XP Service Pack


Per risolvere il problema, ignorare le configurazioni contrassegnate come non valide inserendo un'istruzioneIOConfigin una sezione LogConfig del file INF della periferica. Fatto questo, sarà possibile aggiungere un intervallo di porte di I/O fittizio alla configurazione ignorata, in modo da soddisfare il requisito di disporresolodi due intervalli di porte di I/O.

Il codice di esempio riportato di seguito è una sezioneLogConfigper una scheda che richiedeva un intervallo LPT1, corretta in modo da includere un intervallo di porte di I/O fittizio in 0778-077F:
[MyDeviceInstallSection]...[MyDeviceInstallSection.LogConfigOverride]LogConfig=MyLogConfig...[MyLogConfig]ConfigPriority=NORMALIOConfig=378-37F(3ff::)IOConfig=778-77F(ffff::)
NOTA: in questo esempio si presume che la porta parallela disponga di un decodificatore a 10 bit, il che costituisce lo scenario peggiore. Per l'intervallo fittizio, sebbene sia stato impostato un decodificatore a 16 bit, non esiste alcun decodificatore.
Status
Microsoft ha confermato che questo problema si verifica con i prodotti elencati nella sezione "Si applica a..." di questo articolo. Questo problema è stato corretto per la prima volta nel Service Pack 1 per Windows XP.
Informazioni
Di seguito è illustrato un esempio comune di tuple che potrebbero presentare il problema descritto. Una PC Card ha una tupla di ID funzione (21h) valutata come 3, pertanto la periferica sarà parallela. Tra le altre tuple, l'ID funzione sarà la seguente:
21h TPL_CODE=CISTPL_FUNCID02h TPL_LINK03h TPLFID_FUNCTION00h
kbBaseOS
Proprietà

ID articolo: 313580 - Ultima revisione: 01/12/2015 19:23:03 - Revisione: 1.0

  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • kbnosurvey kbarchive kbbug kbfix kboswin2000fix kbwinxpsp1fix KB313580
Feedback