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 |