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

重要

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

MINIPORT_WDI_TX_TARGET_DESC_INIT コールバック関数は、不透明なターゲット TX 記述子を NET_BUFFER_LIST (ミニポート予約[1] フィールド) に関連付け、(該当する場合) NET_BUFFER_LISTWDI_FRAME_METADATA バッファー (ミニポート予約[0]) の TX コスト フィールド (クレジット 単位) を設定します。

これは、NDIS_MINIPORT_WDI_DATA_HANDLERS内の WDI ミニポート ハンドラーです。

MINIPORT_WDI_TX_TARGET_DESC_INIT 型を使用して関数を宣言する必要があります。 詳細については、次の例のセクションを参照してください。
 

構文

MINIPORT_WDI_TX_TARGET_DESC_INIT MiniportWdiTxTargetDescInit;

void MiniportWdiTxTargetDescInit(
  [in]  TAL_TXRX_HANDLE MiniportTalTxRxContext,
  [in]  PNET_BUFFER_LIST pNBL,
  [out] NDIS_STATUS *pWifiStatus
)
{...}

パラメーター

[in] MiniportTalTxRxContext

MINIPORT_WDI_TAL_TXRX_INITIALIZE コールバック関数で IHV ミニポートによって返される TAL デバイス ハンドル。

[in] pNBL

1 つの NET_BUFFER_LISTへのポインター。

[out] pWifiStatus

MINIPORT_WDI_TX_TARGET_DESC_INIT コールバック関数の結果を示す IHV によって設定された状態へのポインター。

戻り値

何一つ

備考

NDIS_STATUS_RESOURCES の状態は、Tx 記述子が使い果たされた場合にのみ使用する必要があります。 IHV ミニポートが NDIS_STATUS_RESOURCESを使用しない場合に最適な動作が発生します。 NDIS_STATUS_SUCCESS および NDIS_STATUS_RESOURCES 以外の状態は、IHV ミニポートまたはファームウェアが NET_BUFFER_LISTを処理できないことを示すその他のエラーに使用する必要があります。

IHV ミニポートは、適切な NDIS 退避と事前機能を使用して、NET_BUFFER のバックフィルを利用できます。 パケット オフセットの開始は、MINIPORT_WDI_TX_TARGET_DESC_DEINIT コールバック関数の前または中に復元する必要があります。 TxMgr はデキュー時間中にフレームの長さを決定するため、MINIPORT_WDI_TX_TARGET_DESC_INIT コールバック関数のフレーム長への変更は、デキュー サイズを量子に制限することに含まれます。 この場合、IHV ミニポートは、差分を考慮するように量子を適切に調整する必要があります。

重要な IHV ミニポートは、この呼び出しのコンテキストで任意の兆候を行うには許可されていません。 TxMgr は、TxTargetDescInitHandlerへの呼び出しをシリアル化します。
 

MINIPORT_WDI_TX_TARGET_DESC_INIT コールバック関数を定義するには、まず、定義する関数の型を識別する関数宣言を指定する必要があります。 Windows には、ドライバーの関数の種類のセットが用意されています。 関数の種類を使用して関数を宣言すると、ドライバー のコード分析、静的ドライバー検証ツール (SDV)、およびその他の検証ツールをすると、エラーが検出され、Windows オペレーティング システムのドライバーを記述するための要件になります。

たとえば、"MyTxTargetDescInit" という名前の MINIPORT_WDI_TX_TARGET_DESC_INIT コールバック関数を定義するには、次のコード例に示すように MINIPORT_WDI_TX_TARGET_DESC_INIT 型を使用します。

MINIPORT_WDI_TX_TARGET_DESC_INIT MyTxTargetDescInit;

次に、次のように関数を実装します。

_Use_decl_annotations_
VOID
 MyTxTargetDescInit(
    TAL_TXRX_HANDLE MiniportTalTxRxContext,
    PNET_BUFFER_LIST pNBL,
    NDIS_STATUS *pWifiStatus
    )
  {...}

MINIPORT_WDI_TX_TARGET_DESC_INIT 関数型は、dot11wdi.h ヘッダー ファイルで定義されています。 コード分析ツールの実行時にエラーをより正確に識別するには、Use_decl_annotations 注釈を関数定義に追加してください。 Use_decl_annotations 注釈により、ヘッダー ファイル内の MINIPORT_WDI_TX_TARGET_DESC_INIT 関数型に適用される注釈が確実に使用されます。 関数宣言の要件の詳細については、「ndis ドライバーの の関数の役割の種類を使用して関数を宣言するを参照してください。

Use_decl_annotationsの詳細については、「関数の動作に注釈を付ける」を参照してください。

必要条件

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

関連項目

MINIPORT_WDI_TX_TARGET_DESC_DEINIT

NDIS_MINIPORT_WDI_DATA_HANDLERS

NET_BUFFER_LIST

TAL_TXRX_HANDLE

WDI TX パス する

WDI_FRAME_METADATA