HOW TO: Abilitare la registrazione nel file Wiadebug.log

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 I307001
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Il supporto formale del prodotto per Microsoft Windows XP verrà reso disponibile da Microsoft a partire dal 25 ottobre 2001. Fino ad allora è possibile comunicare con controparti, partner e Microsoft Most Valuable Professional (MVP) utilizzando i newsgroup in linea. L'accesso ai newsgroup Microsoft è disponibile dal seguente sito Web Microsoft (informazioni in lingua inglese):
Sommario
Per impostazione predefinita, il servizio Acquisizione immagini di Windows (WIA) registra gli errori in un file denominato Wiadebug.log situato nella cartellacartella_Windows. In questo articolo viene descritto come abilitare la registrazione nel file Wiadebug.log.

Torna all'inizio

Abilitare la registrazione nel file Wiadebug.log

Le informazioni registrate dal servizio WIA in questo file possono rivelarsi molto utili durante lo sviluppo di driver. Il livello di registrazione è controllato da una voce del Registro di sistema. Per il servizio WIA questa voce si trova nella seguente chiave di registro, doveNome_moduloè il nome del modulo binario appropriato:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\StillImage\Debug\Nome_modulo\DebugFlags
Per il servizio WIA il modulo binario appropriato è Wiaservc.dll.

Il valore diDebugFlagscontrolla il livello di registrazione. Di seguito sono descritte tre impostazioni:
  • 0x00000001: Visualizzare messaggi di errore.
  • 0x00000002: Visualizzare messaggi di avviso
  • 0x00000004: Visualizzare messaggi di traccia.
Il valore diDebugFlagsè un valore di flag, che consente la lettura congiunta di impostazioni diverse. Per abilitare la registrazione contemporanea di errori, avvisi e tracce, impostareDebugFlagsa0x0000007.

Se si modifica il valore diDebugFlags, sarà necessario arrestare il servizio WIA (stisvc) e riavviarlo affinché le modifiche abbiano effetto.

Per arrestare il servizio di acquisizione immagini, aprire un prompt di comando ed eseguire il seguente comando:
net stop stisvc
Per avviare il servizio di acquisizione immagini, aprire un prompt di comando ed eseguire il seguente comando:
net start stisvc
NOTA: una registrazione eccessivamente dettagliata può determinare un significativo peggioramento delle prestazioni. Aumentare pertanto il livello di registrazione solo se si sta cercando di risolvere un particolare problema e una volta correttolo, reimpostare nuovamente il livello di registrazione al livello originale.

Torna all'inizio

Risoluzione dei problemi

Lo scenario che segue illustra un problema tipico e descrive come utilizzare le informazioni contenute nel file Wiadebug.log per risolvere tale problema.

Scenario: è stato scritto un programma per la verifica di un driver di scanner in via di sviluppo. Per l'esecuzione di uno dei test si imposta l'opzione dpi (Dots Per Inch, punti per pollice) dello scanner a1200, ma questa operazione origina un errore.

Nel file Wiadebug.log vengono registrate le seguenti informazioni:
wiasGetChangedValueLong, validate prop 6147 failed hr: 0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
NOTA: questo comportamento si verifica solitamente quando un programma scrive un valore non valido.

Queste voci di registro indicano che il driver sta segnalando che il programma ha scritto un valore non valido. Non è tuttavia chiaro dalle informazioni registrate quale sia il problema in questione. Se si decide di aumentare il livello di registrazione WIA, in modo che vengano registrati anche i messaggi di avviso oltre agli errori, nel file Wiadebug.log verranno registrate le seguenti informazioni:
  • 75
  • 100
  • 150
  • 200
  • 300
  • 600
wiasValidateItemProperties, invalid LIST value for :
propID) Horizontal Resolution, value = 1200
Valid values are:wiasGetChangedValueLong, validate prop 6147 failed hr: 0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
NOTA: questo comportamento si verifica solitamente quando un programma scrive un valore non valido.

L'output mostra che il problema è causato dalla proprietà Horizontal Resolution (Risoluzione orizzontale). Il programma sta tentando di impostare la risoluzione a1200, ma l'elenco delle risoluzioni supportate non include il valore1200e di conseguenza il componente di supporto per la convalida del servizio WIA (wiasValidateItemProperties) rifiuta la richiesta di impostare tale valore.

Una volta identificato il problema, sarà possibile determinare se modificare il driver oppure il programma. Se le specifiche dello scanner consentono di supportare qualsiasi risoluzione compresa tra 100 e 1400 dpi, il driver dovrebbe essere in grado di gestire una richiesta per 1200 dpi. Se invece lo scanner non supporta tale impostazione, modificare il programma in modo che non tenti di impostare la Risoluzione orizzontale a un valore non valido per tale proprietà. In questo caso il programma dovrebbe verificare che un valore sia valido prima di tentare di impostare una proprietà a tale valore.

Torna all'inizio


Proprietà

ID articolo: 307001 - Ultima revisione: 12/06/2015 05:14:48 - Revisione: 1.2

Microsoft Windows XP Professional

  • kbnosurvey kbarchive kbhowto kbhowtomaster kbtool KB307001
Feedback