다음을 통해 공유


IoSetHardErrorOrVerifyDevice 함수(ntddk.h)

하위 수준 드라이버는 IoSetHardErrorOrVerifyDevice 루틴을 호출하여 오류가 발생한 이동식 미디어 디바이스를 식별하므로 파일 시스템 드라이버가 사용자에게 미디어가 유효한지 확인하라는 메시지를 표시할 수 있습니다.

구문

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

매개 변수

[in] Irp

드라이버에서 사용자 유도 오류가 발생한 IRP에 대한 포인터입니다.

[in] DeviceObject

I/O 작업에 대해 확인할 대상 디바이스에 대한 포인터입니다.

반환 값

없음

설명

제거 미디어 디바이스에 대한 하위 수준 드라이버는 IRP를 완료하기 전에 IoSetHardErrorOrVerifyDevice 를 호출해야 합니다. IoIsErrorUserInduced 를 호출하면 TRUE가 반환됩니다. 자세한 내용은 이동식 미디어 지원을 참조하세요.

그런 다음 파일 시스템 드라이버는 지정된 디바이스 개체에 제공된 정보를 사용하여 사용자에게 대화 상자를 보내며, 사용자는 오류를 수정하고 작업을 다시 시도하거나 취소할 수 있습니다.

IoSetHardErrorOrVerifyDevice에 전달된 IRP는 스레드와 연결되어야 합니다. 따라서 드라이버가 IoSetHardErrorOrVerifyDevice를 호출하기 전에 irp-Tail.Overlay>를 확인해야 합니다. 스레드가 NULL이 아닙니다. 값이 NULL이면 현재 IRP 를 사용하여 IoSetHardErrorOrVerifyDevice 를 호출하면 안 됩니다. 대신, 드라이버는 irp-Tail.Overlay>가 수신될 때까지 이후에 수신 및 처리되는 모든 IRP를 검사 합니다. 스레드가 NULL이 아닙니다. 이 시점에서 IoSetHardErrorOrVerifyDevice 를 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

추가 정보

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError