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 |