MINIPORT_WDI_RX_GET_MPDUS コールバック関数 (dot11wdi.h)
重要
このトピックは、Windows 10でリリースされた WDI ドライバー モデルの一部です。 WDI ドライバー モデルはメンテナンス モードであり、優先度の高い修正のみを受け取ります。 WiFiCx は、Windows 11でリリースされた Wi-Fi ドライバー モデルです。 最新の機能を利用するには、WiFiCx を使用することをお勧めします。
MiniportWdiRxGetMpdus ハンドラー関数は 、NET_BUFFER_LIST チェーンを返します。 各NET_BUFFER_LISTは、1 つの MPDU を表します。
これは、 NDIS_MINIPORT_WDI_DATA_HANDLERS内の WDI ミニポート ハンドラーです。
構文
MINIPORT_WDI_RX_GET_MPDUS MiniportWdiRxGetMpdus;
void MiniportWdiRxGetMpdus(
[in] TAL_TXRX_HANDLE MiniportTalTxRxContext,
[in] WDI_PEER_ID PeerId,
[in] WDI_EXTENDED_TID ExTid,
[out] PNET_BUFFER_LIST *ppNBL
)
{...}
パラメーター
[in] MiniportTalTxRxContext
ミニポートWdiTalTxRxInitialize の IHV ミニポートによって返される TAL デバイス ハンドル。
[in] PeerId
ピア ID。
[in] ExTid
拡張 TID。
[out] ppNBL
IHV ミニポートからの NET_BUFFER_LIST チェーンへのポインターへのポインター。
戻り値
なし
解説
PeerId と ExTid がワイルドカードでない場合 (たとえば、PeerId が0xFFFFと等しくない、ExTid が 31 に等しくない)、チェーン内のすべての MPDU は同じピア ID と TID (この場合、TID は有効な 802.11 TID) になります。
各NET_BUFFER_LISTは、NET_BUFFER構造体を指します。 各NET_BUFFER構造体は、1 つの MSDU を表します。
MPDU にペイロードとして MSDU フラグメントがあり、最適化がターゲット/TAL にオフロードされない (またはホスト実装 FIPS モードが有効になっている) 場合、対応するNET_BUFFER_LISTには MSDU フラグメントを記述する 1 つのNET_BUFFERがあります。
各NET_BUFFERのデータ オフセットは、MAC ヘッダーの先頭に設定する必要があります。
例
MiniportWdiRxGetMpdus 関数を定義するには、まず、定義する関数の種類を識別する関数宣言を指定する必要があります。 Windows には、ドライバー用の一連の関数型が用意されています。 関数の種類を使用して関数を宣言すると、ドライバー、静的ドライバー検証ツール (SDV)、およびその他の検証ツールのコード分析でエラーが検出され、Windows オペレーティング システムのドライバーを記述するための要件になります。
たとえば、"MyRxGetMpdus" という名前の MiniportWdiRxGetMpdus 関数を定義するには、次のコード例に示すように 、MINIPORT_WDI_RX_GET_MPDUS 型を使用します。
MINIPORT_WDI_RX_GET_MPDUS MyRxGetMpdus;
次に、次のように関数を実装します。
_Use_decl_annotations_
VOID
MyRxGetMpdus(
TAL_TXRX_HANDLE MiniportTalTxRxContext,
WDI_PEER_ID PeerId,
WDI_EXTENDED_TID ExTid,
PNET_BUFFER_LIST *ppNBL
)
{...}
MINIPORT_WDI_RX_GET_MPDUS関数の種類は、dot11wdi.h ヘッダー ファイルで定義されています。 コード分析ツールの実行時にエラーをより正確に識別するには、 Use_decl_annotations 注釈を関数定義に追加してください。 Use_decl_annotations注釈を使用すると、ヘッダー ファイル内のMINIPORT_WDI_RX_GET_MPDUS関数型に適用される注釈が確実に使用されます。 関数宣言の要件の詳細については、「NDIS ドライバーの関数 ロール型を使用して関数を宣言する」を参照してください。
Use_decl_annotationsの詳細については、「関数の動作に注釈を付ける」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
サポートされている最小のサーバー | Windows Server 2016 |
対象プラットフォーム | Windows |
ヘッダー | dot11wdi.h |