Partager via


Vérification Storport

La fonctionnalité Vérification storport surveille l’interaction entre un pilote de miniport Storport et le pilote de port. Si le pilote miniport utilise mal une routine, répond incorrectement à une demande du pilote de port ou prend trop de temps pour répondre à une demande, un bogue case activée est émis.

Notes

La fonctionnalité vérification Storport est disponible uniquement dans Windows Vista et les versions ultérieures de Windows.

Violations détectées par la vérification Storport

La fonctionnalité vérification Storport peut détecter plusieurs mauvaises utilisations des routines Storport. Il est également possible de désactiver individuellement certaines de ces vérifications.

La fonctionnalité vérification Storport émet des case activée 0xF1 de bogues ou des case activée 0xC4 de bogues si un pilote de miniport Storport commit l’une des violations suivantes :

  • Le pilote miniport transmet un argument incorrect (pointeur NULL) à la routine StorPortInitialize .

  • Le pilote miniport appelle StorPortStallExecution et spécifie un délai supérieur à 0,1 seconde, ce qui bloque le processeur pendant une durée excessive.

  • StorPortFreeDeviceBase peut être appelé uniquement à partir de la routine HwStorFindAdapter du pilote miniport.

  • StorPortGetUncachedExtension peut être appelé uniquement à partir de la routine HwStorFindAdapter du pilote miniport et peut être appelé uniquement pour un adaptateur master bus. Un miniport doit définir la valeur SrbExtensionSize de la structure HW_INITIALIZATION_DATA (Storport) avant d’appeler StorPortGetUncachedExtension.

  • La routine StorPortGetDeviceBase prend en charge uniquement les adresses qui ont été affectées au pilote par le gestionnaire de Plug-and-Play système (PnP).

  • Le pilote miniport transmet une adresse virtuelle non valide à l’une des routines StorPortReadxxx ou StorPortWritexxx (par exemple, StorPortReadRegisterUchar ou StorPortWritePortBufferUlong). Cela signifie généralement que l’adresse fournie ne correspond pas à la zone de mémoire tampon commune. Le registre ou le port spécifié doit se trouver dans la plage d’espace mémoire mappée retournée par la routine StorPortGetDeviceBase . Cette case activée est prise en charge uniquement sur les systèmes x86.

Pour obtenir la liste des paramètres de case activée de bogues utilisés par Storport Verification, consultez 0xF1 de vérification des bogues (SCSI_VERIFIER_DETECTED_VIOLATION). En plus des 0xF1 de vérification des bogues, la vérification Storport utilise également des 0xC4 de vérification des bogues (DRIVER_VERIFIER_DETECTED_VIOLATION).

Notes

La vérification des bogues 0xF1 est utilisée pour la vérification SCSI et la vérification Storport.

Activation de l’option de vérification Storport

La procédure d’activation de l’option de vérification Storport est différente des procédures d’activation d’autres options du vérificateur de pilote.

  1. À l’aide du Gestionnaire du vérificateur de pilotes ou de la ligne de commande Verifier.exe , démarrez une vérification du pilote miniport. Étant donné que la vérification Storport ne sera pas disponible en tant qu’option, vous devez sélectionner au moins une autre option Driver Verifier. Pour plus d’informations, consultez Sélection des options du vérificateur de pilote et Sélection des pilotes à vérifier.

  2. Ouvrez le Registre à l’aide deregedit.exe. Dans la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort , ajoutez une sous-clé nommée Vérificateur. Si la clé StorPort n’existe pas, vous devez la créer. Dans la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier , ajoutez une entrée REG_DWORD nommée VerifyLevel. La valeur affectée à cette entrée détermine les tests de vérification Storport qui seront actifs. La valeur 0x1 donnera la vérification maximale.

  3. Redémarrez l'ordinateur.

Si la valeur VerifyLevel n’existe pas ou est égale à 0xFFFFFFFF, la vérification Storport est désactivée.

Activation sans redémarrage

En général, vous ne pouvez pas activer ou désactiver la vérification Storport sans redémarrer (redémarrer) l’ordinateur sur n’importe quel système d’exploitation Windows. Le pilote StorPort.sys lit l’entrée de Registre VerifyLevel uniquement lorsqu’il se charge, ce qui est généralement au moment du démarrage. Toutefois, si le pilote StorPort.sys n’est pas chargé lorsque vous ajoutez l’entrée de Registre, ou s’il est déchargé et rechargé, vous pouvez activer la vérification Storport sur Windows Vista et les versions ultérieures de Windows sans redémarrer l’ordinateur.