Ověření Storport

Funkce Ověření storportu monitoruje interakci mezi ovladačem miniportu Storport a ovladačem portu. Pokud ovladač miniportu zneužije rutinu, odpoví nesprávně na žádost od ovladače portu nebo trvá příliš dlouhou dobu, než odpoví na žádost, vydá se kontrola chyb.

Poznámka:

Funkce Ověření storportu je k dispozici pouze v systému Windows Vista a novějších verzích Systému Windows.

Porušení zjištěná ověřením storportu

Funkce Ověření storportu dokáže detekovat několik zneužití rutin Storportu. Některé z těchto kontrol je také možné jednotlivě zakázat.

Funkce ověřování Storport vydává kontrolní chybu 0xF1 nebo 0xC4, pokud ovladač miniportu Storportu dopustí se jednoho z následujících porušení:

  • Ovladač miniportu předá chybný argument (ukazatel NULL) rutině StorPortInitialize .

  • Ovladač miniportu volá StorPortStallExecution a určuje zpoždění delší než 0,1 sekundy, které zastaví procesor příliš dlouhou dobu.

  • StorPortFreeDeviceBase lze volat pouze z rutiny HwStorFindAdapter ovladače miniportu.

  • StorPortGetUncachedExtension lze volat pouze z rutiny HwStorFindAdapter ovladače miniportu a lze ji volat pouze pro adaptér bus-master. Miniport musí nastavit SrbExtensionSize ve struktuře HW_INITIALIZATION_DATA (Storport) před voláním StorPortGetUncachedExtension.

  • Rutina StorPortGetDeviceBase podporuje pouze adresy přiřazené ovladači správcem systému Plug and Play (PnP).

  • Ovladač miniportu předává neplatnou virtuální adresu některé rutině StorPortReadxxx nebo StorPortWritexxx (například StorPortReadRegisterUchar nebo StorPortWritePortBufferUlong). Obvykle to znamená, že zadaná adresa neodpovídá běžné oblasti vyrovnávací paměti. Zadaný registr nebo port musí být v mapovaném rozsahu paměti vrácený rutinou StorPortGetDeviceBase . Tato kontrola je podporována pouze v systémech založených na platformě x86.

Seznam parametrů kontroly chyb, které používá ověření storportu, najdete v tématu Kontrola chyb 0xF1 (SCSI_VERIFIER_DETECTED_VIOLATION). Kromě kontroly chyb 0xF1 využívá Storport Verification také kontroly chyb 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).

Poznámka:

Kontrola chyb 0xF1 se používá pro ověřování SCSI i ověření storportu.

Aktivace možnosti ověření storportu

Postup aktivace možnosti Ověření storportu se liší od postupů pro aktivaci dalších možností ověření ovladače.

  1. Pomocí Správce ověření ovladače nebo příkazového řádkuVerifier.exe spusťte ověření ovladače miniportu. Vzhledem k tomu, že ověření storportu nebude k dispozici jako možnost, musíte vybrat alespoň jednu jinou možnost ověření ovladače. Další informace naleznete v tématu Výběr možností ověřovatele ovladačů a výběr ovladačů k ověření.

  2. Otevřete registr pomocí regedit.exe. Do klíčeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort přidejte podklíč s názvem Verifier. Pokud klíč StorPort neexistuje, musíte ho vytvořit. V klíčiHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier přidejte položku REG_DWORD s názvem VerifyLevel. Hodnota přiřazená k této položce určí, které testy ověření storportu budou aktivní. Hodnota 0x1 poskytne maximální ověření.

  3. Restartujte počítač.

Pokud hodnota VerifyLevel neexistuje nebo je rovna 0xFFFFFFFF, ověření storportu bude zakázáno.

Aktivace bez restartování

Obecně platí, že nemůžete aktivovat ani deaktivovat ověření storportu bez restartování (restartování) počítače v jakémkoli operačním systému Windows. Ovladač StorPort.sys přečte položku registru VerifyLevel pouze v případě, že se načte, což je obvykle při spuštění. Pokud však ovladačStorPort.sys není načten při přidání položky do registru nebo pokud je odpojen a znovu připojen, můžete povolit Storport Verification na systémech Windows Vista a novějších verzích Windows bez restartování počítače.