Partager via


Routine InterpretRequestSense du pilote de classe de stockage

Une routine InterpretRequestSense interprète les données retournées dans le SenseInfoBuffer du SRB, détermine si la demande doit être retentée et, si ce n’est pas le cas, mappe l’erreur à une valeur NTSTATUS pour le bloc de status d’E/S de l’IRP.

Le pilote de port système indique si les informations d’sens de requête sont disponibles en définissant SRB_STATUS_AUTOSENSE_VALID ou SRB_STATUS_REQUEST_SENSE_FAILED dans SrbStatus.

Si aucune information de sens de requête n’est disponible, InterpretRequestSense doit case activée la valeur SrbStatus pour déterminer s’il faut réessayer une demande donnée ou déterminer un mappage approprié à une valeur NTSTATUS.

La routine InterpretRequestSense peut également appeler une routine de journalisation des erreurs fournie par le pilote. Chaque fois qu’un pilote de classe de stockage enregistre une erreur d’E/S, il doit inclure les valeurs PathId, TargetId, Lun et SrbStatus définies par le pilote de port de stockage dans le SRB, et, si possible, des informations pertinentes d’sens de la demande dans le cadre de DumpData de l’entrée du journal des erreurs. Notez qu’un pilote de classe de stockage ne doit pas utiliser pathId, TargetId et lun de ces SDR pour répondre à d’autres demandes.

Pour plus d’informations sur la journalisation des erreurs d’E/S, consultez Erreurs de journalisation.