Fonction ScsiPortLogError (srb.h)
La routine ScsiPortLogError consigne les erreurs dans le journal des événements système lorsqu’un pilote miniport ou son HBA détecte une condition d’erreur SCSI.
Notes
Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Utilisez plutôt les modèles de pilote Storport et de pilote Storport miniport .
Syntaxe
SCSIPORT_API VOID ScsiPortLogError(
PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
UCHAR PathId,
UCHAR TargetId,
UCHAR Lun,
ULONG ErrorCode,
ULONG UniqueId
);
Paramètres
HwDeviceExtension
[in] Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par adaptateur HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes miniport stockent généralement des informations spécifiques à L’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées de l’adaptateur HBA. Cette zone est disponible pour le pilote miniport dans le membre DeviceExtension-HwDeviceExtension> de l’objet d’appareil de l’adaptateur HBA immédiatement après que le pilote miniport a appelé ScsiPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.
Srb
[in, facultatif] Pointeur vers un bloc de requête SCSI s’il est associé à l’erreur. Sinon, ce paramètre a la valeur NULL.
PathId
[in] Identifie le bus SCSI.
TargetId
[in] Identifie le contrôleur ou l’appareil cible sur le bus.
Lun
[in] Identifie le numéro d’unité logique de l’appareil cible.
ErrorCode
[in] Spécifie un code d’erreur. Ce paramètre peut être l’une des valeurs suivantes comme type d’erreur.
Valeur | Signification |
---|---|
SP_BAD_FW_ERROR | Indique que le pilote a détecté un microprogramme défectueux ou ancien. L’appareil ne sera pas utilisé. |
SP_BAD_FW_WARNING | Indique que le pilote a détecté un carte avec un microprogramme ancien ou incorrect, ce qui peut entraîner une réduction des performances ou des fonctionnalités. |
SP_BUS_PARITY_ERROR | Indique qu’une erreur de parité de bus SCSI a été détectée. |
SP_BUS_TIME_OUT | Indique qu’une connexion de bus SCSI à une unité logique a expiré. |
SP_INTERNAL_ADAPTER_ERROR | Indique qu’une erreur HBA interne a été détectée. |
SP_INVALID_RESELECTION | Indique une unité logique réélectionnée de manière inattendue ou avec une balise de file d’attente non valide. |
SP_IRQ_NOT_RESPONDING | Indique que l’adaptateur HBA n’est pas interrompu quand on s’y attend. |
SP_PROTOCOL_ERROR | Indique que le pilote miniport a détecté une erreur de protocole de bus SCSI. |
SP_REQUEST_TIMEOUT | Indique qu’une opération sur le contrôleur a expiré. |
SP_UNEXPECTED_DISCONNECT | Indique qu’une cible s’est déconnectée de manière inattendue. |
UniqueId
[in] Spécifie un identificateur unique pour l’erreur. Cette valeur différencie l’erreur actuelle des autres erreurs avec le même ErrorCode. Pour certains pilotes miniport, cela identifie la ligne de code où l’erreur a été détectée. Pour d’autres, il s’agit d’informations supplémentaires retournées par l’adaptateur HBA.
Valeur de retour
None
Remarques
Un pilote miniport doit consigner toutes les erreurs matérielles réelles. Toutefois, il ne doit pas consigner les erreurs opérationnelles courantes, telles que les délais de sélection ou les réinitialisations de bus.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | srb.h (inclure Miniport.h, Scsi.h) |
Bibliothèque | Scsiport.lib |