Fonction IoSetHardErrorOrVerifyDevice (ntddk.h)

Les pilotes de niveau inférieur appellent la routine IoSetHardErrorOrVerifyDevice pour identifier un périphérique multimédia amovible qui a rencontré une erreur, afin qu’un pilote de système de fichiers puisse inviter l’utilisateur à vérifier que le support est valide.

Syntaxe

void IoSetHardErrorOrVerifyDevice(
  [in] PIRP           Irp,
  [in] PDEVICE_OBJECT DeviceObject
);

Paramètres

[in] Irp

Pointeur vers l’IRP pour lequel le pilote a rencontré une erreur provoquée par l’utilisateur.

[in] DeviceObject

Pointeur vers l’appareil cible à vérifier pour l’opération d’E/S.

Valeur de retour

None

Remarques

Les pilotes de niveau inférieur pour les périphériques multimédias de suppression doivent appeler IoSetHardErrorOrVerifyDevice avant de terminer une IRP, si un appel à IoIsErrorUserInduced retourne TRUE. Pour plus d’informations, consultez Prise en charge du support amovible.

Par la suite, un pilote de système de fichiers utilise les informations fournies dans l’objet d’appareil spécifié pour envoyer une boîte de dialogue à l’utilisateur, qui peut corriger l’erreur et réessayer l’opération ou l’annuler.

L’IRP passé à IoSetHardErrorOrVerifyDevice doit être associé à un thread. Par conséquent, avant qu’un pilote appelle IoSetHardErrorOrVerifyDevice, il doit vérifier que irp-Tail.Overlay>. Le thread n’a pas la valeur NULL. Si la valeur est NULL, IoSetHardErrorOrVerifyDevice ne doit pas être appelé à l’aide de l’IRP actuel. Au lieu de cela, le pilote doit case activée tous les IRP reçus et traités par la suite, jusqu’à ce qu’un soit reçu pour lequel irp-Tail.Overlay>. Le thread n’a pas la valeur NULL. À ce stade, IoSetHardErrorOrVerifyDevice peut être appelé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Voir aussi

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError