Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйверы нижнего уровня вызывают подпрограмму IoSetHardErrorOrVerifyDevice, чтобы определить съемный носитель, который столкнулся с ошибкой, чтобы драйвер файловой системы смог убедиться, что средний является допустимым.
Синтаксис
VOID IoSetHardErrorOrVerifyDevice(
[in] PIRP Irp,
[in] PDEVICE_OBJECT DeviceObject
);
Параметры
[in] Irp
Указатель на IRP, для которого драйвер столкнулся с ошибкой, вызванной пользователем.
[in] DeviceObject
Указатель на целевое устройство для проверки операции ввода-вывода.
Возвращаемое значение
Никакой
Замечания
Драйверы нижнего уровня для устройств удаления носителей должны вызывать IoSetHardErrorOrVerifyDevice перед завершением IRP, если вызов IoIsErrorUserInduced возвращает TRUE. Дополнительные сведения см. в поддержке съемных носителей.
Впоследствии драйвер файловой системы будет использовать сведения, предоставленные в указанном объекте устройства, для отправки диалогового окна пользователю, который может исправить ошибку и повторить операцию или отменить ее.
IRP, передаваемый в IoSetHardErrorOrVerifyDevice, должен быть связан с потоком. Таким образом, прежде чем драйвер вызывает IoSetHardErrorOrVerifyDevice, необходимо убедиться, что irp->Tail.Overlay. Поток не NULL. Если значение равно NULL, IoSetHardErrorOrVerifyDevice не следует вызывать с помощью текущего IRP. Вместо этого драйвер должен проверять все полученные и обработанные irps, пока не будет получено irp->Tail.Overlay. Поток не null. На этом этапе можно вызвать IoSetHardErrorOrVerifyDevice.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
| целевая платформа | Всеобщий |
| заголовка | ntddk.h (include Ntddk.h) |
| библиотеки | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <=DISPATCH_LEVEL |