IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)
Interroge une prédiction de défaillance de l’appareil. Cette requête fonctionne avec les lecteurs de disque IDE qui prennent en charge l’analyse automatique 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 vérifiant les informations d’enquête sur la page contrôle d’exception d’information, 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 en cas d’état de prédiction d’échec 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 à Irp->AssociatedIrp.SystemBuffer, le disque a des secteurs incorrects et prédit un échec. La pile de stockage retourne 512 octets d’informations spécifiques au fournisseur sur la prédiction d’échec dans le VendorSpecific membre de STORAGE_PREDICT_FAILURE.
Si le membre PredictFailure contient la valeur zéro, le disque ne prédit pas de défaillance.
Si l’appareil ne prend pas en charge la prédiction d’échec, IOCTL_STORAGE_PREDICT_FAILURE échoue avec un état 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 l’échec 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
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 STORAGE_PREDICT_FAILURE contenant des données de prédiction d’échec dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer.
Longueur de la mémoire tampon de sortie
Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon à Irp->AssociatedIrp.SystemBuffer, qui doit être supérieure ou égale à la taille de (STORAGE_PREDICT_FAILURE).
Bloc d’état
> IoStatus.Status est défini sur STATUS_SUCCESS si la requête réussit. Sinon, état à la condition d’erreur appropriée en tant que code NTSTATUS.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddstor.h (include Ntddstor.h) |