Share via


Verifica storport

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

Nota

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 funzionalità di verifica Storport genera un controllo bug 0xF1 o un controllo di bug 0xC4 se un driver miniport Storport esegue il commit di una delle violazioni seguenti:

  • 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 una scheda master del bus. 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 di Plug and Play di sistema (PnP).

  • 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. L'oggetto Register o Port specificato deve trovarsi 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 dei bug usati dalla verifica storport, vedere Controllo bug 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION). Oltre al controllo dei bug 0xF1, la verifica storport usa anche 0xC4 controllo bug (DRIVER_VERIFIER_DETECTED_VIOLATION).

Nota

Controllo bug 0xF1 viene usato sia per la verifica SCSI che per la verifica storport.

Attivazione dell'opzione di verifica Storport

La procedura per l'attivazione dell'opzione Di verifica storport è diversa dalle procedure per l'attivazione di altre opzioni di Verifica driver.

  1. Usando Gestione verifica driver o la riga di comando Verifier.exe , avviare una verifica del driver miniport. Poiché la verifica storport non sarà disponibile come opzione, è necessario selezionare almeno un'altra opzione Di verifica driver. Per altre informazioni, vedere Selezione delle opzioni di verifica 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 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 (riavvio) il computer in qualsiasi sistema operativo Windows. Il driver StorPort.sys legge la voce del Registro di sistema VerifyLevel solo quando viene caricata, che 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 scaricata e ricaricata, è possibile abilitare La verifica storport in Windows Vista e versioni successive di Windows senza riavviare il computer.