WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE列挙 (wdfdevice.h)

[KMDF と UMDF に適用]

WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE列挙体は、フレームワークがドライバーの EvtDeviceReleaseHardware コールバック関数を呼び出すタイミングを指定します。

構文

typedef enum _WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE {
  WdfReleaseHardwareOrderOnFailureInvalid = 0,
  WdfReleaseHardwareOrderOnFailureEarly,
  WdfReleaseHardwareOrderOnFailureAfterDescendants
} WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE, *PWDF_RELEASE_HARDWARE_ORDER_ON_FAILURE;

定数

 
WdfReleaseHardwareOrderOnFailureInvalid
値: 0
システムで使用するために予約されています。
WdfReleaseHardwareOrderOnFailureEarly
特定のエラー条件下を除き、ドライバーが列挙するすべての子デバイスに対して EvtDeviceReleaseHardware 関数を呼び出した後、フレームワークはドライバーの EvtDeviceReleaseHardware コールバック関数を呼び出します。 詳細については、「解説」を参照してください。
WdfReleaseHardwareOrderOnFailureAfterDescendants
フレームワークは、ドライバーが列挙するすべての子デバイスに対して EvtDeviceReleaseHardware 関数を呼び出した後、ドライバーの EvtDeviceReleaseHardware コールバック関数を常に呼び出します。

注釈

WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE列挙体は、WdfDeviceInitSetReleaseHardwareOrderOnFailure への入力として使用されます。

ドライバーが WdfReleaseHardwareOrderOnFailureEarly を指定した場合、通常のデバイスの削除では、ドライバーが列挙するすべての子デバイスに対して EvtDeviceReleaseHardware 関数を呼び出した後、フレームワークはドライバーの EvtDeviceReleaseHardware を呼び出します。 ただし、デバイスの電源投入または電源ダウンに失敗した場合、フレームワークは、すべての子デバイスの EvtDeviceReleaseHardware 関数を呼び出す前に、ドライバーの EvtDeviceReleaseHardware を呼び出す可能性があります。

ドライバーが WdfReleaseHardwareOrderOnFailureAfterDescendants を指定した場合、フレームワークは、子デバイスの EvtDeviceReleaseHardware 関数を呼び出すまで、ドライバーの EvtDeviceReleaseHardware を呼び出すのを待機します。

要件

要件
最小 KMDF バージョン 1.11
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)

こちらもご覧ください

EvtDeviceReleaseHardware

WdfDeviceInitSetReleaseHardwareOrderOnFailure