Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí těchto pravidel ověřte, že ovladač správně zpracovává požadavky SRB.
V této části
Téma | Popis |
---|---|
Toto pravidlo ověří, že tento miniport je v celo duplexním režimu. Každý ovladač vytvořený podle modelu StorPort-miniport musí být v režimu Full Duplex . Polovina duplexní verze by se měla používat pouze při přenosu existujícího ovladače SCSI do StorPortu. |
|
Toto pravidlo ověří, že se v operaci StartIo neprovádí čekání nebo přidělení dat. |
|
Toto pravidlo ověří, že implementace Ovladače HwStorFindAdapter a VirtualHwStorFindAdapter vrátí platný stav. Platný stav je jeden z následujících: SP_RETURN_FOUND, SP_RETURN_ERROR, SP_RETURN_BAD_CONFIG nebo SP_RETURN_NOT_FOUND. |
|
Toto pravidlo ověřuje, že se miniport nesmí pokoušet volat StorPortFreePool v uvolněné vyrovnávací paměti. |
|
Toto pravidlo ověřuje, že se miniport nesmí pokoušet volat StorPortAllocatePool na přidělené vyrovnávací paměti bez jejího předchozího uvolnění. |
|
Toto pravidlo ověří, že pokud rutina StorPort Miniport StorPortBuildIo vrátí hodnotu FALSE, příslušný SRB se do funkce StartIo nepředá. (V takových případech musí ovladač miniportu dokončit SRB voláním StorPortNotification s typem oznámení RequestComplete ze StorPortBuildIo nebo jinam). |
|
Toto pravidlo ověřuje, že miniport neprovádí žádná volání storPortCompleteRequest . Použití StorPortCompleteRequest se nedoporučuje; Miniporty by místo toho měly volat StorPortNotification s notificationType = RequestComplete. |
|
Toto pravidlo ověřuje, že StorPortEnablePassiveInitialization není volána z žádné rutiny ovladače miniportu StorPort jiné než HwInitialize. |
|
Rutina HwStorFindAdapter musí nastavit pole MaximumTransferLength a NumberOfPhysicalBreaks ve struktuře PORT_CONFIGURATION_INFORMATION . Ve výchozím nastavení je hodnota obou těchto polí SP_UNINITIALIZED_VALUE. Pokud je některé z těchto polí stále nastaveno na SP_UNINITIALIZED_VALUE při ukončení funkce FindAdapter, ovladač nesplňuje pravidlo. |
|
Toto pravidlo ověřuje, že volání storPortNotification používají pouze povolené (tj. zdokumentované) typy oznámení. |
|
StorPortEnablePassiveInitialization by neměl být volán v rámci vstupního bodu inicializace HW pro ovladače Storport, pokud lze tento vstupní bod volat přímo z vstupního bodu řízení HW adaptéru. |
|
Toto pravidlo ověří, že parametr PerfConfigData předaný storPortInitializePerfOpts nemá hodnotu NULL. |
|
V rutině StartIo miniportu se nikdy nesmí provádět čekání nebo přidělení dat. Ovladač nedodržuje pravidlo, pokud volá StorPortStallExecution nebo jinou funkci, která zahrnuje časově náročné operace. Vzhledem k tomu, že funkce StartIo je synchronizována, měla by být tato volání většinou provedena v buildu BuildIo. |
|
Rutina HW_TIMER musí být definována, pokud je provedeno volání StorPortNotification(RequestTimerCall). |
Výběr sady pravidel SrbProcessing
Vyberte projekt ovladače (.vcxProj) v aplikaci Microsoft Visual Studio. V nabídce Ovladač klepněte na Spustit statický ověřovatel ovladače....
Klikněte na kartu Pravidla . V části Sady pravidel vyberte SrbProcessing.
Pokud chcete vybrat výchozí sadu pravidel z okna příkazového řádku vývojáře sady Visual Studio, zadejte příkaz SrbProcessing.sdv s možností /check . Například:
msbuild /t:sdv /p:Inputs="/check:SrbProcessing.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Další informace naleznete v tématu Použití statického ověřovače ovladačů k nalezení vad v ovladačích a příkazy MSBuild (Statický ověřovač ovladačů).