IoSetHardErrorOrVerifyDevice-Funktion (ntddk.h)
Treiber auf niedrigerer Ebene rufen die IoSetHardErrorOrVerifyDevice Routine auf, um ein Wechselmediengerät zu identifizieren, das einen Fehler festgestellt hat, 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
Zeigen Sie auf das IRP, für das der Treiber einen vom Benutzer induzierten Fehler festgestellt hat.
[in] DeviceObject
Zeiger auf das Zielgerät, das für den E/A-Vorgang überprüft werden soll.
Rückgabewert
Nichts
Bemerkungen
Treiber für das Entfernen von Mediengeräten auf niedrigerer Ebene müssen IoSetHardErrorOrVerifyDevice- aufrufen, bevor ein IRP abgeschlossen wird, wenn ein Aufruf von IoIsErrorUserInducedTRUEzurückgibt. Weitere Informationen finden Sie unter Unterstützen von Wechselmedien.
Anschließend verwendet ein Dateisystemtreiber Informationen, die im angegebenen Geräteobjekt bereitgestellt werden, 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 werden. Daher muss vor dem Aufrufen eines Treibers IoSetHardErrorOrVerifyDevice-überprüft werden, ob irp-->Tail.Overlay. Thread ist nicht NULL-. Wenn der Wert NULL-ist, darf IoSetHardErrorOrVerifyDevice nicht mithilfe des aktuellen IRP aufgerufen werden. Stattdessen sollte der Treiber alle IRPs anschließend empfangen und verarbeitet, bis eine empfangen wird, für die irp->Tail.Overlay. Thread ist nicht NULL-. Zu diesem Zeitpunkt kann IoSetHardErrorOrVerifyDevice aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | ntddk.h (include Ntddk.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <=DISPATCH_LEVEL |