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 |