Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare queste regole per verificare che il driver elabori correttamente le richieste SRB.
In questa sezione
| Argomento | Descrizione |
|---|---|
Questa regola verifica che questo miniport sia in modalità Full Duplex . Qualsiasi driver creato in base al modello StorPort-miniport deve essere in modalità Full Duplex . Half Duplex deve essere usato solo quando si esegue la conversione di un driver SCSI esistente in StorPort. |
|
Questa regola verifica che le attese o l'allocazione dei dati non vengano eseguite all'interno di StartIo. |
|
Questa regola verifica che le implementazioni del driver di HwStorFindAdapter e VirtualHwStorFindAdapter restituiscono uno stato valido. Uno stato valido è uno dei seguenti: SP_RETURN_FOUND, SP_RETURN_ERROR, SP_RETURN_BAD_CONFIG o SP_RETURN_NOT_FOUND. |
|
Questa regola verifica che il miniport non debba tentare di chiamare StorPortFreePool in un buffer deallocato. |
|
Questa regola verifica che il miniport non debba tentare di chiamare StorPortAllocatePool in un buffer allocato senza deallocarlo per primo. |
|
Questa regola verifica che se la routine StorPort miniport StorPortBuildIo restituisce FALSE, SRB in questione non viene passato a StartIo. In questi casi, il driver miniport deve completare lo SRB chiamando StorPortNotification con un tipo di notifica di RequestComplete da StorPortBuildIo o da un altro punto. |
|
Questa regola verifica che nessuna chiamata a StorPortCompleteRequest venga effettuata dal miniport. L'utilizzo di StorPortCompleteRequest non è consigliato; i miniport devono invece chiamare StorPortNotification con notificationType = RequestComplete. |
|
Questa regola verifica che StorPortEnablePassiveInitialization non venga chiamato da alcuna routine del driver miniport StorPort diversa da HwInitialize. |
|
La routine HwStorFindAdapter deve impostare i campi MaximumTransferLength e NumberOfPhysicalBreaks nella struttura PORT_CONFIGURATION_INFORMATION . Per impostazione predefinita, il valore di entrambi questi campi è SP_UNINITIALIZED_VALUE. Se uno di questi campi è ancora impostato su SP_UNINITIALIZED_VALUE all'uscita da FindAdapter, il driver non supera la regola. |
|
Questa regola verifica che le chiamate a StorPortNotification usino solo i tipi di notifica consentiti (ad esempio documentati). |
|
StorPortEnablePassiveInitialization non deve essere chiamato all'interno del punto di ingresso dell'inizializzazione hardware per i driver Storport se il punto di ingresso dell'inizializzazione hardware può essere chiamato direttamente dal punto di ingresso del controllo dell'adattatore hardware. |
|
Questa regola verifica che il parametro PerfConfigData passato a StorPortInitializePerfOpts non sia NULL. |
|
Le attese o l'allocazione dei dati non devono mai essere eseguite nella routine StartIo del miniport. Il driver non rispetta la regola se chiama StorPortStallExecution o un'altra funzione che comporta operazioni dispendiose in termini di tempo. Poiché StartIo è sincronizzato , queste chiamate devono essere eseguite principalmente in BuildIo. |
|
La routine HW_TIMER deve essere definita se viene effettuata una chiamata a StorPortNotification(RequestTimerCall). |
Per selezionare il set di regole SrbProcessing
Selezionare il progetto driver (.vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Launch Static Driver Verifier...(Avvia verifica driver statico...).
Fare clic sulla scheda Regole . In Set di regole selezionare SrbProcessing.
Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare SrbProcessing.sdv con l'opzione /check . Per esempio:
msbuild /t:sdv /p:Inputs="/check:SrbProcessing.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Per altre informazioni, vedere Uso di Static Driver Verifier per individuare difetti nei driver e Comandi di Static Driver Verifier (MSBuild).