IoSetHardErrorOrVerifyDevice 函式 (ntddk.h)

較低層級的驅動程式會呼叫 IoSetHardErrorVerifyDevice 例程,以識別發生錯誤的抽取式媒體裝置,讓文件系統驅動程式可以提示使用者確認媒體是否有效。

語法

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

參數

[in] Irp

驅動程式遇到使用者所引發錯誤的 IRP 指標。

[in] DeviceObject

要驗證 I/O 作業的目標裝置指標。

傳回值

備註

移除媒體裝置的較低層級驅動程序必須在完成 IRP 之前呼叫 IoSetHardErrorVerifyDevice ,如果 IoIsErrorUserInduced 的呼叫傳回 TRUE。 如需詳細資訊,請參閱 支援卸除式媒體

接著,檔案系統驅動程式會使用指定裝置物件中提供的資訊,將對話框傳送給使用者,該使用者可以更正錯誤並重試作業或取消。

傳遞至 IoSetHardErrorOrVerifyDevice 的 IRP 必須與線程相關聯。 因此,在驅動程式呼叫IoSetHardErrorOrVerifyDevice之前,它必須確認 irp-Tail.Overlay>線程不是 NULL。 如果值為 NULL,則不得使用目前的 IRP 呼叫 IoSetHardErrorOrVerifyDevice 。 相反地,驅動程式應該檢查後續接收和處理的所有 IRP,直到收到 irp-Tail.Overlay> 為止。線程不是 NULL。 此時,可以呼叫 IoSetHardErrorOrVerifyDevice

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

另請參閱

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError