次の方法で共有


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 に設定する前に、ドライバーは IWDFDeviceInitialize::SetLockingConstraint を呼び出し、LockType パラメーターを WdfDeviceLevel 設定する必要があります。

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

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

必要条件

要件 価値
UMDF の最小バージョン する 1.11
ヘッダー wudfinterrupt.h

関連項目

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT