Partager via


IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

Interroge une prédiction de défaillance de l’appareil. Cette demande fonctionne avec les lecteurs de disque IDE qui prennent en charge l’analyse auto-surveillance et la technologie de création de rapports (SMART). Si le lecteur est un lecteur SCSI, le pilote de classe tente de vérifier si le disque SCSI prend en charge la technologie IDE SMART équivalente en case activée les informations de demande dans la page Contrôle des exceptions d’informations, X3T10/94-190 Rev 4.

Si l’appareil prend en charge l’échec de prédiction, le pilote de classe de disque interroge l’appareil pour la prédiction d’échec status et signale les résultats. Si le pilote de classe de disque affecte une valeur différente de zéro au membre PredictFailure de STORAGE_PREDICT_FAILURE dans la mémoire tampon de sortie sur Irp-AssociatedIrp.SystemBuffer>, le disque présente des secteurs défectueux et prédit une défaillance. La pile de stockage retourne 512 octets d’informations spécifiques au fournisseur sur la prédiction de l’échec dans le membre VendorSpecific de STORAGE_PREDICT_FAILURE.

Si le membre PredictFailure contient une valeur de zéro, le disque ne prédit pas une défaillance.

Si l’appareil ne prend pas en charge la prédiction d’échec, IOCTL_STORAGE_PREDICT_FAILURE échoue avec une status de STATUS_INVALID_DEVICE_REQUEST, et les données de la mémoire tampon de sortie ne sont pas définies

D’autres moyens de vérifier la défaillance du disque incluent la surveillance du journal des événements et l’inscription pour recevoir un événement WMI avec WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Aucun.

Longueur de la mémoire tampon d’entrée

Aucun.

Mémoire tampon de sortie

Le pilote retourne une structure de STORAGE_PREDICT_FAILURE contenant des données de prédiction d’échec dans la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>, qui doit être supérieure ou égale à la tailleof(STORAGE_PREDICT_FAILURE).

Bloc d’état

Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit. Sinon, indiquez la condition d’erreur appropriée en tant que code NTSTATUS .

Configuration requise

Condition requise Valeur
En-tête ntddstor.h (inclure Ntddstor.h)

Voir aussi

STORAGE_PREDICT_FAILURE