WUDF_INTERRUPT_CONFIG 構造体 (wudfinterrupt.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

WUDF_INTERRUPT_CONFIG構造体には、デバイス割り込みの構成情報が含まれています。

構文

typedef struct _WUDF_INTERRUPT_CONFIG {
  ULONG                           Size;
  WDF_TRI_STATE                   ShareVector;
  BOOLEAN                         AutomaticSerialization;
  PFN_WUDF_INTERRUPT_ISR          OnInterruptIsr;
  PFN_WUDF_INTERRUPT_ENABLE       OnInterruptEnable;
  PFN_WUDF_INTERRUPT_DISABLE      OnInterruptDisable;
  PFN_WUDF_INTERRUPT_WORKITEM     OnInterruptWorkItem;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;

メンバー

Size

この構造体のサイズ (バイト単位)。

ShareVector

WDF_TRI_STATE型指定された値。 この値が WdfTrue の場合、割り込みベクトルを共有できます。 値が WdfFalse の場合、割り込みベクトルを共有できません。 値が WdfDefault で割り込みがレベル トリガーされる場合、プラグ アンド プレイ マネージャーはバス ドライバーの値を使用します。 値が WdfDefault で、割り込みがレベル によってトリガーされない場合、割り込みベクトルを共有できません。

AutomaticSerialization

TRUE の場合、フレームワークが割り込みオブジェクトの OnInterruptWorkItem コールバック関数の実行を、フレームワークの コールバック同期 機能を使用する他のコールバック関数と同期することを示すブール値。 詳細については、「解説」を参照してください。

OnInterruptIsr

ドライバーの OnInterruptIsr コールバック関数へのポインター、または NULL。

OnInterruptEnable

ドライバーの OnInterruptEnable コールバック関数へのポインター、または NULL。

OnInterruptDisable

ドライバーの OnInterruptDisable コールバック関数 (NULL) へのポインター。

OnInterruptWorkItem

ドライバーの OnInterruptWorkItem コールバック関数へのポインター、または NULL。

InterruptRaw

システム が割 り込みに割り当てた 未加工リソース を記述するCM_PARTIAL_RESOURCE_DESCRIPTOR構造体へのポインター。 このメンバーは、 OnPrepareHardware コールバックで割り込みが作成された場合にのみ使用されます。

InterruptTranslated

システム が割 り込みに割り当てた 変換されたリソース を記述するCM_PARTIAL_RESOURCE_DESCRIPTOR構造体へのポインター。 このメンバーは、 OnPrepareHardware コールバックで割り込みが作成された場合にのみ使用されます。

注釈

WUDF_INTERRUPT_CONFIG構造体は、IWDFDevice3::CreateInterrupt への入力として使用されます。

WUDF_INTERRUPT_CONFIG構造体を初期化するには、ドライバーは最初に WUDF_INTERRUPT_CONFIG_INIT を呼び出してから、初期化しない構造体メンバー WUDF_INTERRUPT_CONFIG_INIT入力する必要があります。

AutomaticSerialization を TRUE に設定する前に、ドライバーは LockType パラメーターを WdfDeviceLevel に設定して IWDFDeviceInitialize::SetLockingConstraint を呼び出す必要があります。

ドライバーには、CM_PARTIAL_RESOURCE_DESCRIPTORの定義を含む Wudfwdm.h が含まれている必要があります。

UMDF では、すべてのフレームワークでサポートされているオペレーティング システムで、エッジ トリガー、ラインベースの割り込み、およびメッセージシグナル割り込み (MSI) がサポートされます。 これらの種類の割り込みリソースは共有されないため、それらを使用するドライバーは、この構造体の ShareVector メンバーを WdfFalse または WdfUseDefault に設定する必要があります。 ドライバーで無効な ShareVector 値が指定されている場合、ドライバーの起動に失敗します。

要件

要件
最小 UMDF バージョン 1.11
Header wudfinterrupt.h

こちらもご覧ください

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT