IoSetHardErrorOrVerifyDevice 函数 (ntddk.h)

较低级别的驱动程序调用 IoSetHardErrorOrVerifyDevice 例程来标识遇到错误的可移动媒体设备,以便文件系统驱动程序可以提示用户验证介质是否有效。

语法

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

参数

[in] Irp

指向驱动程序遇到用户诱发错误的 IRP 的指针。

[in] DeviceObject

指向要验证的 I/O作的目标设备的指针。

返回值

没有

言论

如果调用 IoIsErrorUserInduced返回 TRUE,则删除媒体设备的较低级别驱动程序必须在完成 IRP 之前调用 IoSetHardErrorOrVerifyDevice。 有关详细信息,请参阅 支持可移动媒体

随后,文件系统驱动程序将使用指定设备对象中提供的信息向用户发送对话框,用户可以更正错误并重试作或取消该作。

传递给 IoSetHardErrorVerifyDevice 的 IRP 必须与线程相关联。 因此,在驱动程序调用 IoSetHardErrorVerifyDevice之前,它必须验证 irp->Tail.Overlay。线程不 NULL。 如果 值为 NULL,则 IoSetHardErrorOrVerifyDevice 不得使用当前 IRP 调用。 相反,驱动程序应检查随后接收和处理的所有 IRP,直到收到一个 irp ->Tail.Overlayirp。线程不 NULL。 此时,可以调用 IoSetHardErrorOrVerifyDevice

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 普遍
标头 ntddk.h (包括 Ntddk.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

另请参阅

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError