次の方法で共有


NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA関数 (netadapter.h)

NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA関数は、オペレーティング システムで管理される受信バッファーの割り当てと添付ファイル、およびメモリ マッピング用の DMA を指定するネット アダプターのNET_ADAPTER_RX_CAPABILITIES構造体を初期化します。

構文

void NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA(
  [_Out_] NET_ADAPTER_RX_CAPABILITIES  *RxCapabilities,
  [_In_]  NET_ADAPTER_DMA_CAPABILITIES *DmaCapabilities,
  [_In_]  SIZE_T                       MaximumFrameSize,
  [_In_]  SIZE_T                       MaximumNumberOfQueues
);

パラメーター

[_Out_] RxCapabilities

ドライバーによって割り当てられた NET_ADAPTER_RX_CAPABILITIES 構造体へのポインター。

[_In_] DmaCapabilities

ドライバーによって割り当てられ、初期化された NET_ADAPTER_DMA_CAPABILITIES 構造体へのポインター。

[_In_] MaximumFrameSize

アダプターが受信できる最大フレーム サイズ (バイト単位)。

[_In_] MaximumNumberOfQueues

アダプターがサポートする受信キューの最大数。

戻り値

なし

解説

この関数は、NET_ADAPTER_RX_CAPABILITIES構造体を初期化するために呼び出す 3 つの関数のうちの 1 つです。 どのクライアント ドライバーを呼び出す必要がありますかは、受信バッファーを割り当てる方法と、DMA を使用するかどうかによって異なります。

クライアント ドライバーは オペレーティング システムで受信バッファーの割り当てと添付ファイルを実行する場合、および受信データ パスで DMA を使用する場合は、 NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA を呼び出して、NET_ADAPTER_RX_CAPABILITIES構造体を初期化する必要があります。 この関数を呼び出すと、Rx 機能構造体の AllocationMode メンバーが NetRxFragmentBufferAllocationModeSystem に設定され、 AttachmentMode メンバーが NetRxFragmentBufferAttachmentModeSystem に設定されます。

NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMAを呼び出す前に、ドライバーがNET_ADAPTER_DMA_CAPABILITIES構造体を割り当て、NET_ADAPTER_DMA_CAPABILITIES_INITで初期化しておく必要があります。 この DMA 機能構造体は、NET_ADAPTER_RX_CAPABILITIES構造体のDmaCapabilities メンバーに割り当てられます。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.25
Header netadapter.h (netadaptercx.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

NET_ADAPTER_RX_CAPABILITIES

NET_ADAPTER_RX_CAPABILITIES_INIT_DRIVER_MANAGED

NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED