次の方法で共有


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

[KMDF と UMDF に適用]

ドライバーの EvtDeviceD0ExitPreInterruptsDisabled イベント コールバック関数は、ドライバーがデバイスのハードウェア割り込みを無効にする前に必要なデバイス固有の操作を実行します。

構文

EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtWdfDeviceD0ExitPreInterruptsDisabled;

NTSTATUS EvtWdfDeviceD0ExitPreInterruptsDisabled(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE TargetState
)
{...}

パラメーター

[in] Device

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

[in] TargetState

デバイスが入力しようとしているデバイスの電源状態を識別する、WDF_POWER_DEVICE_STATE型の列挙子。

戻り値

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

このコールバック関数の戻り値の詳細については、「 デバイスエラーの報告」を参照してください。

注釈

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

EvtDeviceD0ExitPreInterruptsDisabled コールバック関数は、フレームワークがドライバーの EvtInterruptDisable コールバック関数を呼び出す前に、IRQL = PASSIVE_LEVEL で呼び出されます。 ドライバーは、割り込みを無効にする前にデバイス固有の操作を実行する必要がある場合に、 EvtInterruptDisable コールバック関数の IRQL = DIRQL でこれらの操作を実行する必要がある場合に、この関数を提供できます。

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

割り込みの処理の詳細については、「 ハードウェア割り込みの処理」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)
IRQL PASSIVE_LEVEL (「解説」セクションを参照)

こちらもご覧ください

EvtDeviceD0EntryPostInterruptsEnabled