NDIS_WDI_RX_INORDER_DATA_INDコールバック関数 (dot11wdi.h)

重要

このトピックは、Windows 10 でリリース WDI ドライバー モデルの一部です。 WDI ドライバー モデルはメンテナンス モードであり、優先度の高い修正プログラムのみを受け取ります。 WiFiCx は、Windows 11 でリリースされた Wi-Fi ドライバー モデルです。 最新の機能を利用するには、WiFiCx を使用することをお勧めします。

NdisWdiRxInorderDataIndication コールバック関数は、指定された RX フレームの一覧が正しい順序で存在することを RxMgr に通知します。

これは NDIS_WDI_DATA_API内のコールバックです。

構文

NDIS_WDI_RX_INORDER_DATA_IND NdisWdiRxInorderDataInd;

void NdisWdiRxInorderDataInd(
  [in]  NDIS_HANDLE NdisMiniportDataPathHandle,
  [in]  WDI_RX_INDICATION_LEVEL IndicationLevel,
  [in]  WDI_PEER_ID PeerId,
  [in]  WDI_EXTENDED_TID ExTid,
  [in]  PNDIS_RECEIVE_THROTTLE_PARAMETERS pRxThrottleParams,
  [out] NDIS_STATUS *pWifiStatus
)
{...}

パラメーター

[in] NdisMiniportDataPathHandle

ミニポートWdiTalTxRxInitialize で IHV ミニポート渡される NdisMiniportDataPathHandle です。

[in] IndicationLevel

RX 表示レベルを指定する WDI_RX_INDICATION_LEVEL 列挙値。

[in] PeerId

ピア ID。

[in] ExTid

拡張 TID。

[in] pRxThrottleParams

NDIS_RECEIVE_THROTTLE_PARAMETERS 構造体へのポインター。

[out] pWifiStatus

NdisWdiRxInorderDataIndicationの WDI からの状態。 詳細については、「解説」セクションを参照してください。

戻り値

何一つ

備考

RxEngine は、この表示が DPC の NdisWdiRxInorderDataIndication )最初のデータ表示である場合、WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPCを使用します。 後続のデータ表示では、WDI_RX_INDICATION_DISPATCH_GENERALが使用されます。 パッシブ レベルで表示される場合、RxEngine はWDI_RX_INDICATION_PASSIVEを使用する必要があります。 ミニポートWdiRxResume コンテキストで行われた表示は、WDI_RX_INDICATION_FROM_RX_RESUME_FRAMESを使用する必要があります。 このパラメーターは、DPC の有効期間を制限するために必要な RxMgr 情報を提供します。

WDI_RX_INDICATION_FLAG_RESOURCESビットごとの ORed を他の列挙値と共に使用して、RxMgr がデータ表示にNDIS_RECEIVE_FLAG_RESOURCESフラグを設定できます。

RxMgr は、受信したデータ プルする要求 ミニポートWdiRxGetMpdus を発行します。

ターゲットが RX フレーム分類に対応せず、異なる PeerID/TID ペアの RX フレームに個別の表示を使用する場合、PeerID はワイルドカード (0xFFFF) に設定され、TID はWDI_EXT_TID_UNKNOWNに設定されます。

ターゲット/TAL がバッファー管理の順序変更を完全に担当する場合は、すべての破棄アクションも実行します。 MPDU ステータスは必要ありません。

PNDIS_RECEIVE_THROTTLE_PARAMETERSは、ReceiveThrottleParametersを指します。これは、NDIS に登録された割り込みのために NDIS によって渡されます。 これは、WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPCに対してのみ設定する必要があります。 このパラメーターは無視されるため、他のすべてのデータ表示は NULL を渡す必要があります。

RxMgr でWDI_STATUSが成功に設定されている場合、RxEngine は同じ DPC のコンテキストでより多くのデータ表示を作成できます。 RxMgr が一時停止するWDI_STATUSを設定する場合、RxEngine は、RxMgr が ミニポートWdiRxResume を発行し、できるだけ早くディスパッチ レベルを終了するまで、データ表示を作成しないでください。

RxEngine では、一時停止中に受信データを処理する方法を選択できます。 可能であれば、単にデータをバッファーする必要があります。 データの削除も可能です。

RxMgr は、PNDIS_RECEIVE_THROTTLE_PARAMETERSで指定された制限に対して NDIS に示されたフレームの数を追跡します。 RxMgr では、ディスパッチに費やされた時間も追跡されます。 制限に達すると、RxMgr はNDIS_STATUS_PAUSEDを返します。 RxEngine は、できるだけ早く DPC を返す/終了する必要があります。RxMgr がミニポートWdiRxResume を呼び出すまで、(NdisWdiRxInorderDataIndicationを介して) NET_BUFFER_LIST 構造体示してはなりません。 RxMgr に (ミニポートWdiRxGetMpdusを介して) 指定され、まだ示されていない NET_BUFFER_LIST 構造体は、DPC で過多の時間を費やすことを避けるために、別のコンテキストで NDIS まで示されます。 そのバックログがクリアされると、RxMgr はミニポートWdiRxResume 呼び出すことによって RxEngine の一時停止を解除します。

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ターゲット プラットフォーム ウィンドウズ
ヘッダー dot11wdi.h

関連項目

ミニポートWdiRxGetMpdus

ミニポートWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

WDI RX パス する

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL