WdfDeviceSetFailed 関数 (wdfdevice.h)
[KMDF と UMDF に適用]
WdfDeviceSetFailed メソッドは、ドライバーが、指定されたデバイスに関連付けられているハードウェアまたはソフトウェア エラーを検出したことをフレームワークに通知します。
構文
void WdfDeviceSetFailed(
[in] WDFDEVICE Device,
[in] WDF_DEVICE_FAILED_ACTION FailedAction
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] FailedAction
フレームワークが指定したデバイスのドライバーの再読み込みを試みる必要があるかどうかを示す WDF_DEVICE_FAILED_ACTION型指定された列挙子。
戻り値
何一つ
備考
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
回復不能なハードウェアまたはソフトウェア エラーが発生した場合、システムがデバイスのドライバーをアンロードできるように、WdfDeviceSetFailed を呼び出す必要があります。
UMDF バージョン 2.15 以降では、UMDF ドライバーは、FailedActionWdfDeviceFailedAttemptRestartに設定された WdfDeviceSetFailed を呼び出すことによって、基になるバス ドライバーに再列挙を要求できます。 バス ドライバーは、GUID_REENUMERATE_SELF_INTERFACE_STANDARD インターフェイスをサポートする必要があります。
または、UMDF ドライバーは、FailedAction を WdfDeviceFailedNoRestart に設定できます。
WdfDeviceSetFailed のの詳細については、「Reporting Device Failures」を参照してください。
例
次のコード例は、エラーが発生したことをフレームワークに通知します。 指定したデバイスのドライバーが他のデバイスをサポートしていない場合、フレームワークはドライバーをアンロードし、再読み込みを試みます。
WdfDeviceSetFailed(
device,
WdfDeviceFailedAttemptRestart
);
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |
ライブラリ | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |