次の方法で共有


WdfDmaEnablerSetMaximumScatterGatherElements 関数 (wdfdmaenabler.h)

[KMDF にのみ適用]

WdfDmaEnablerSetMaximumScatterGatherElements メソッドは、指定された DMA イネーブラー オブジェクトに対して、デバイスがサポートする散布/収集要素の最大数を設定します。

構文

void WdfDmaEnablerSetMaximumScatterGatherElements(
  [in] WDFDMAENABLER DmaEnabler,
  [in] size_t        MaximumFragments
);

パラメーター

[in] DmaEnabler

ドライバーが WdfDmaEnablerCreate の以前の呼び出しから取得した DMA イネーブラー オブジェクトへのハンドル。

[in] MaximumFragments

ドライバーとデバイスがサポートできる散布/収集要素の最大数。

戻り値

なし

解説

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

ドライバーが WdfDmaEnablerSetMaximumScatterGatherElements を呼び出す場合は、 EvtDriverDeviceAdd または EvtDevicePrepareHardware コールバック関数内で呼び出す必要があります。

ドライバーが WdfDmaEnablerSetMaximumScatterGatherElements を呼び出さない場合、フレームワークは既定値の WDF_DMA_ENABLER_UNLIMITED_FRAGMENTS を使用します。つまり、散布/収集要素の数に制限はありません。

この方法の詳細については、「 DMA トランザクションの有効化」を参照してください。

次のコード例では、指定した DMA イネーブラー オブジェクトの散布/収集要素の最大数を設定します。

WdfDmaEnablerSetMaximumScatterGatherElements(
                                             DmaEnabler, 
                                             NIC_MAX_PHYS_BUF_COUNT
                                             );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfdmaenabler.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WdfDmaEnablerCreate

WdfDmaEnablerGetMaximumScatterGatherElements