IoSetHardErrorOrVerifyDevice-Funktion (ntddk.h)

Treiber auf niedrigerer Ebene rufen die IoSetHardErrorOrVerifyDevice-Routine auf, um ein Wechselmediengerät zu identifizieren, bei dem ein Fehler aufgetreten ist, sodass ein Dateisystemtreiber den Benutzer auffordern kann, zu überprüfen, ob das Medium gültig ist.

Syntax

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

Parameter

[in] Irp

Zeiger auf den IRP, für den der Treiber einen benutzerinduzierten Fehler gefunden hat.

[in] DeviceObject

Zeiger auf das Zielgerät, das für den E/A-Vorgang überprüft werden soll.

Rückgabewert

Keine

Bemerkungen

Treiber auf niedrigerer Ebene zum Entfernen von Mediengeräten müssen IoSetHardErrorOrVerifyDevice aufrufen, bevor ein IRP abgeschlossen wird, wenn ein Aufruf von IoIsErrorUserInducedTRUE zurückgibt. Weitere Informationen finden Sie unter Unterstützung von Wechselmedien.

Anschließend verwendet ein Dateisystemtreiber die im angegebenen Geräteobjekt angegebenen Informationen, um ein Dialogfeld an den Benutzer zu senden, der den Fehler korrigieren und den Vorgang wiederholen oder abbrechen kann.

Das an IoSetHardErrorOrVerifyDevice übergebene IRP muss einem Thread zugeordnet sein. Bevor ein Treiber IoSetHardErrorOrVerifyDevice aufruft, muss er daher überprüfen, ob irp-Tail.Overlay>. Thread ist nicht NULL. Wenn der Wert NULL ist, darf IoSetHardErrorOrVerifyDevice nicht mit dem aktuellen IRP aufgerufen werden. Stattdessen sollte der Treiber alle IRPs überprüfen, die anschließend empfangen und verarbeitet werden, bis eine empfangen wird, für die irp-Tail.Overlay>. Thread ist nicht NULL. An diesem Punkt kann IoSetHardErrorOrVerifyDevice aufgerufen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Weitere Informationen

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError