Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonctionnalité de vérification Storport surveille l’interaction entre un pilote miniport Storport et le pilote de port. Si le pilote miniport utilise incorrectement une routine, répond incorrectement à une requête du pilote de port, ou prend un temps excessif pour répondre à une requête, un arrêt d'erreur est émis.
Remarque
La fonctionnalité de 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é de détection Storport émet un contrôle d'erreur 0xF1 ou un contrôle d'erreur 0xC4 si un pilote de miniport Storport commet 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 ne peut être appelé que pour un adaptateur maître de bus. Un miniport doit définir la valeur SrbExtensionSize de la structure HW_INITIALIZATION_DATA (Storport) avant d’appeler StorPortGetUncachedExtension.
La routine StorPortGetDeviceBase prend uniquement en charge les adresses affectées au pilote par le gestionnaire System Plug-and-Play (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 tampon commune. Le registre ou le port spécifié doit être dans la plage d’espace mémoire mappée retournée par la routine StorPortGetDeviceBase . Cette vérification est prise en charge uniquement sur les systèmes x86.
Pour obtenir la liste des paramètres de vérification des erreurs utilisés par Storport Verification, consultez Bug Check 0xF1 (VIOLATION DÉTECTÉE PAR SCSI_VERIFIER). En plus de la vérification de bogue 0xF1, la vérification Storport utilise également la vérification de bogue 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).
Remarque
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 Vérification Storport diffère des procédures d'activation d'autres options du Driver Verifier.
À 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 n’est pas disponible en tant qu’option, vous devez sélectionner au moins une autre option de vérificateur de pilote. Pour plus d’informations, consultez Sélection des options du vérificateur de pilotes et sélection des pilotes à vérifier.
Ouvrez le Registre à l’aide de regedit.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 une vérification maximale.
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 règle générale, 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’elle se charge, 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 si elle est déchargée et rechargée, vous pouvez activer la vérification Storport sur Windows Vista et les versions ultérieures de Windows sans redémarrer l’ordinateur.