次の方法で共有


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)