POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS コールバック関数 (pep_x.h)

EnumerateUnmaskedInterrupts ルーチンは、割り込みがマスク解除され、有効になっている割り込みソースを列挙します。

構文

POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS Pofxcallbackenumerateunmaskedinterrupts;

NTSTATUS Pofxcallbackenumerateunmaskedinterrupts(
  [in, optional] POHANDLE PluginHandle,
  [in, optional] ULONG EnumerateFlags,
  [in]           PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Callback,
  [in]           PVOID CallbackContext,
  [in, out]      PPEP_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
)
{...}

パラメーター

[in, optional] PluginHandle

POHANDLE 値。 NULL 以外の場合、このパラメーターはプラットフォーム拡張機能プラグイン (PEP) を識別するハンドルです。この場合、 EnumerateUnmaskedInterrupts は、この PEP によって管理される割り込みのみを列挙します。 このパラメーターが NULL の場合、 EnumerateUnmaskedInterrupts は、マスク解除および有効になっているハードウェア プラットフォーム 内のすべての 割り込みを列挙します。

[in, optional] EnumerateFlags

フラグは現在定義されていません。 このパラメーターを PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0) に設定します。

[in] Callback

呼び出し元によって実装された EnumerateInterruptSource コールバック ルーチンへのポインター。 このコールバック ルーチンは、割り込みがマスク解除された割り込みソースごとに 1 回呼び出されます。 これらのコールバックは、 EnumerateUnmaskedInterrupts ルーチンが戻る前に同期的に発生します。

[in] CallbackContext

コールバック コンテキストへのポインター。 このポインターは、Callback パラメーターによって指される EnumerateInterruptSource コールバック ルーチンにパラメーターとして渡されます。 コールバック コンテキストの内容は PEP 定義であり、 電源管理フレームワーク (PoFx) に対して不透明です。

[in, out] InterruptInformation

サイズが sizeof(PEP_UNMASKED_INTERRUPT_INFORMATION) バイト以上の呼び出し元割り当てバッファーへのポインター。 EnumerateUnmaskedInterrupts は、PEP の EnumerateInterruptSource コールバック ルーチンの呼び出し中に、このバッファーを使用して PEP に割り込み情報を転送します。

戻り値

EnumerateUnmaskedInterrupts は、呼び出しが正常に割り込みを列挙した場合にSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。

戻り値 説明
STATUS_INVALID_PARAMETER
PEP_UNMASKED_INTERRUPT_INFORMATION構造体の Size または Version メンバーに無効な値が含まれています。

注釈

このルーチンは PoFx によって実装され、PEP によって呼び出されます。 PEP_KERNEL_INFORMATION_STRUCT_V3構造体の EnumerateUnmaskedInterrupts メンバーは、EnumerateUnmaskedInterrupts ルーチンへのポインターです。

プラットフォームがシステム電源状態に入る前に、割り込みコントローラーの電源が入る前に、PEP は EnumerateUnmaskedInterrupts を呼び出して、マスクを解除したままにする割り込みのためにウェイクアップ コントローラーを適切に構成するために必要な情報を取得できます。

PEP は、IRQL <= HIGH_LEVELでこのルーチンを呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
対象プラットフォーム Windows
ヘッダー pep_x.h (Pep_x.h を含む)
IRQL <= HIGH_LEVEL

こちらもご覧ください

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION