Condividi tramite


Verifica storport

La funzionalità di verifica storport monitora l'interazione tra un driver miniport Storport e il driver di porta. Se il driver miniport usa un uso improprio di una routine, risponde erroneamente a una richiesta del driver della porta o richiede un tempo eccessivo per rispondere a una richiesta, viene eseguito un controllo dei bug.

Annotazioni

La funzionalità di verifica storport è disponibile solo in Windows Vista e versioni successive di Windows.

Violazioni rilevate dalla verifica Storport

La funzionalità di verifica storport può rilevare diversi usi impropri delle routine Storport. È anche possibile disabilitare singolarmente alcuni di questi controlli.

La funzione di verifica di Storport genera un controllo bug 0xF1 o un controllo bug 0xC4 se un driver miniport Storport commette una delle seguenti violazioni:

  • Il driver miniport passa un argomento non valido (un puntatore NULL) alla routine StorPortInitialize .

  • Il driver miniport chiama StorPortStallExecution e specifica un ritardo superiore a 0,1 secondi, bloccando il processore per un periodo di tempo eccessivo.

  • StorPortFreeDeviceBase può essere chiamato solo dalla routine HwStorFindAdapter del driver miniport.

  • StorPortGetUncachedExtension può essere chiamato solo dalla routine HwStorFindAdapter del driver miniport e può essere chiamata solo per un adattatore bus-master. Un miniport deve impostare SrbExtensionSize della struttura HW_INITIALIZATION_DATA (Storport) prima di chiamare StorPortGetUncachedExtension.

  • La routine StorPortGetDeviceBase supporta solo gli indirizzi assegnati al driver dal gestore Plug and Play (PnP) di sistema.

  • Il driver miniport passa un indirizzo virtuale non valido a una delle routine StorPortReadxxx o StorPortWritexxx , ad esempio StorPortReadRegisterUchar o StorPortWritePortBufferUlong. Ciò significa in genere che l'indirizzo fornito non esegue il mapping all'area del buffer comune. Il parametro Register o Port specificato deve essere incluso nell'intervallo di spazio di memoria mappato restituito dalla routine StorPortGetDeviceBase . Questo controllo è supportato solo nei sistemi basati su x86.

Per un elenco dei parametri di controllo bug usati dalla Verifica Storport, vedere Controllo bug 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION). Oltre al controllo bug 0xF1, la verifica Storport usa anche il controllo bug 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).

Annotazioni

Il controllo dei bug 0xF1 viene usato sia per la verifica SCSI che per la verifica Storport.

Attivazione dell'opzione di verifica Storport

La procedura per attivare l'opzione Verifica Storport è diversa dalle procedure per l'attivazione di altre opzioni del driver Verifier.

  1. Usando Driver Verifier Manager o la riga di comando Verifier.exe, avviare la verifica del driver miniport. Poiché la Verifica di Storport non sarà disponibile come opzione, è necessario selezionare almeno un'altra opzione di Verifica Driver. Per altre informazioni, vedere Selezione delle opzioni del Verificatore driver e Selezione dei driver da verificare.

  2. Aprire il Registro di sistema usando regedit.exe. Nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort aggiungere una sottochiave denominata Verifier. Se la chiave StorPort non esiste, è necessario crearla. All'interno della chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier aggiungere una voce di REG_DWORD denominata VerifyLevel. Il valore assegnato a questa voce determinerà quali test di verifica Storport saranno attivi. Il valore 0x1 darà la verifica massima.

  3. Riavviare il computer.

Se il valore VerifyLevel non esiste o è uguale a 0xFFFFFFFF, la verifica storport verrà disabilitata.

Attivazione senza riavvio

In generale, non è possibile attivare o disattivare la verifica Storport senza riavviare (riavviare) il computer in qualsiasi sistema operativo Windows. Il driver StorPort.sys legge la voce del Registro di sistema VerifyLevel solo quando viene caricata, in genere in fase di avvio. Tuttavia, se il driver StorPort.sys non viene caricato quando si aggiunge la voce del Registro di sistema o se viene scaricato e ricaricato, è possibile abilitare la Verifica Storport in Windows Vista e versioni successive di Windows senza riavviare il computer.