IoSetHardErrorOrVerifyDevice 関数 (ntddk.h)
下位レベルのドライバーは 、IoSetHardErrorOrVerifyDevice ルーチンを呼び出して、エラーが発生したリムーバブル メディア デバイスを識別します。そのため、ファイル システム ドライバーは、メディアが有効であることを確認するようにユーザーに求めることができます。
構文
void IoSetHardErrorOrVerifyDevice(
[in] PIRP Irp,
[in] PDEVICE_OBJECT DeviceObject
);
パラメーター
[in] Irp
ドライバーでユーザーによるエラーが発生した IRP へのポインター。
[in] DeviceObject
I/O 操作の検証対象となるターゲット デバイスへのポインター。
戻り値
なし
解説
削除メディア デバイスの下位レベルのドライバーは、IoIsErrorUserInduced の呼び出しが TRUE を返す場合、IRP を完了する前に IoSetHardErrorOrVerifyDevice を呼び出す必要があります。 詳細については、「 リムーバブル メディアのサポート」を参照してください。
その後、ファイル システム ドライバーは、指定したデバイス オブジェクトで指定された情報を使用して、エラーを修正して操作を再試行したり、取り消したりできるダイアログ ボックスをユーザーに送信します。
IoSetHardErrorOrVerifyDevice に渡される IRP は、スレッドに関連付けられている必要があります。 そのため、ドライバーが IoSetHardErrorOrVerifyDevice を呼び出す前に、irp-Tail.Overlay> であることを確認する必要があります。スレッドが NULL ではありません。 値が NULL の場合、現在の IRP を使用して IoSetHardErrorOrVerifyDevice を呼び出さないでください。 代わりに、ドライバーは、irp-Tail.Overlay> を受信するまで、その後に受信および処理されたすべての IRP をチェックする必要があります。スレッドが NULL ではありません。 その時点で、 IoSetHardErrorOrVerifyDevice を 呼び出すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=DISPATCH_LEVEL |