次の方法で共有


EVT_WDF_DEVICE_RELEASE_HARDWARE コールバック関数 (wdfdevice.h)

[KMDF と UMDF に適用]

ドライバーの EvtDeviceReleaseHardware イベント コールバック関数は、デバイスにアクセスできなくなったときに必要な操作を実行します。

構文

EVT_WDF_DEVICE_RELEASE_HARDWARE EvtWdfDeviceReleaseHardware;

NTSTATUS EvtWdfDeviceReleaseHardware(
  [in] WDFDEVICE Device,
  [in] WDFCMRESLIST ResourcesTranslated
)
{...}

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] ResourcesTranslated

プラグ アンド プレイ マネージャーがデバイスに割り当てた、変換されたハードウェア リソースを識別するリソース リスト オブジェクトへのハンドル。

戻り値

EvtDeviceReleaseHardware コールバック関数でエラーが発生しない場合は、NT_SUCCESS(状態) が TRUE と等しいSTATUS_SUCCESSまたは別の状態値返す必要があります。 それ以外の場合は、NT_SUCCESS(状態) が FALSE 等しい状態値を返す必要があります。 STATUS_NOT_SUPPORTEDを返さないでください。

備考

EvtDeviceReleaseHardware コールバック関数を登録するには、ドライバーが WdfDeviceInitSetPnpPowerEventCallbacks 呼び出す必要があります。

ドライバーが、EvtDeviceReleaseHardware コールバック関数を登録している場合、フレームワークは、次の遷移中にそれを呼び出します。

  • リソースの再調整
  • Orderly の削除
  • 突然の削除

フレームワークは、フレームワークがデバイスへの I/O 要求の送信を停止し、デバイスに割り当てられた割り込みが無効になり切断され、デバイスがオフになった後に、EvtDeviceReleaseHardware コールバック関数を呼び出します。

フレームワークが EvtDeviceReleaseHardwareを呼び出すと、デバイスの PDO は引き続き存在し、電源オフ状態 (PCI 構成状態など) で使用可能なデバイス情報を照会できます。

さらに、フレームワークが EvtDeviceReleaseHardware に提供する変換されたハードウェア リソースは、引き続きデバイスに割り当てられます。 このコールバック関数の主な目的は、これらのリソースを解放し、特にドライバーの EvtDevicePrepareHardware コールバック関数がマップされたメモリ リソースのマップを解除することです。 ドライバーは、このコールバックを使用して、電源を切った状態で必要になる可能性がある他のドライバーまたはデバイス管理アクティビティを実行することもできます。 通常、他のすべてのハードウェア シャットダウン操作は、ドライバーの EvtDeviceD0Exit コールバック関数で実行する必要があります。

ドライバーの EvtDevicePrepareHardware コールバック関数が呼び出された場合、常にドライバーの EvtDeviceReleaseHardware コールバック関数 呼び出されます。EvtDevicePrepareHardware がエラー コードを返した場合でも、

子デバイスを持つデバイスのドライバーは、EvtDriverDeviceAdd コールバック関数内から WdfDeviceInitSetReleaseHardwareOrderOnFailure を呼び出すことによって、フレームワークが親デバイスとその子の EvtDeviceReleaseHardware コールバック関数を呼び出す順序を制御できます。

フレームワークがこのコールバック関数を呼び出すタイミングの詳細については、「PnP と電源管理のシナリオ を参照してください。

ハードウェア リソースの詳細については、「Framework-Based ドライバー のハードウェア リソースの」を参照してください。

このコールバック関数を提供するドライバーの詳細については、「Function Driversでの PnP と電源管理のサポート」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfdevice.h (Wdf.h を含む)
IRQL PASSIVE_LEVEL

関連項目

EvtDevicePrepareHardware