IWDFDevice3::CreateInterrupt メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDFの概要」を参照してください。
CreateInterrupt メソッドは、フレームワーク割り込みオブジェクトを作成します。
構文
HRESULT CreateInterrupt(
[in] PWUDF_INTERRUPT_CONFIG Configuration,
[out] IWDFInterrupt **ppInterrupt
);
パラメーター
[in] Configuration
WUDF_INTERRUPT_CONFIG_INIT マクロの呼び出しによって初期化された WUDF_INTERRUPT_CONFIG 構造体へのポインター。
[out] ppInterrupt
新しい割り込みオブジェクトの IWDFInterrupt インターフェイスへのポインターを受け取るバッファーへのポインター。
戻り値
このメソッドは、操作が成功した場合にS_OKを返します。 それ以外の場合、このメソッドは Winerror.h で定義されているエラー コードの 1 つを返します。
備考
ドライバーは、デバイス 必要な割り込みベクトルごとに 1 回 CreateInterrupt を呼び出す必要があります。 デバイスがメッセージ通知割り込み (MSI) をサポートしている場合、ドライバーは、デバイスがサポートできるメッセージごとに割り込みオブジェクトを作成する必要があります。
ドライバーは通常、OnDeviceAdd コールバック関数から CreateInterrupt メソッドを呼び出しますが、IPnpCallbackHardware2::OnPrepareHardware からこのメソッド呼び出すこともできます。
プラグ アンド プレイ (PnP) マネージャーがシステム リソースをデバイスに割り当てた後、フレームワークは、ドライバーが作成した割り込みオブジェクトに、デバイスの割り当てられた割り込みリソースに関する情報を格納します。 (プラグ アンド プレイをサポートしていないドライバーは、割り込みオブジェクトを使用できません。
システムは、デバイスがサポートできる割り込みリソースをすべて割り当てない場合があります。 たとえば、ドライバーは、8 つの MSI メッセージをサポートできるデバイスの 8 つの割り込みオブジェクトを作成します。 ただし、システムによってデバイスに割り当てられるメッセージは 1 つだけです。 その場合、割り込みオブジェクトのうち 7 個は使用されません。
通常、ドライバーは割り込みオブジェクトのコンテキスト空間に、デバイス割り込みレジスタのコピーされた内容などの割り込み固有の情報を格納する必要があります。 ドライバーは、IWDFObject::AssignContext を呼び出してコンテキストを登録し、オブジェクトが無効になったときに通知を要求します。
UMDF では、Windows 8 以降でレベルによってトリガーされる割り込みがサポートされます。 Windows 8 より前のオペレーティング システムで実行されているドライバーが、OnDeviceAddでレベルによってトリガーされる割り込みを作成した場合、CreateInterrupt は、オペレーティング システムにリソースがまだ割り当てられていないために成功します。 ただし、フレームワークが後で割り込みを接続しようとすると、デバイスの起動に失敗します。
UMDF ドライバーでの割り込みの処理の詳細については、「ハードウェアへのアクセスと割り込みの処理を参照してください。
例
HRESULT hr;
IWDFInterrupt* pInterrupt;
WUDF_INTERRUPT_CONFIG interruptConfig;
WUDF_INTERRUPT_CONFIG_INIT(&interruptConfig,
MyInterruptIsr,
MyInterruptWorkItem);
hr = pDevice->Create(&interruptConfig,
&pInterrupt);
必要条件
要件 | 価値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
ターゲット プラットフォーム の | デスクトップ |
UMDF の最小バージョン を する | 1.11 |
ヘッダー | wudfddi.h |
DLL | WUDFx.dll |
関連項目
IWDFDevice3 の