W_INITIATE_OFFLOAD_HANDLER コールバック関数 (ndischimney.h)
[TCP のチムニー オフロード機能は非推奨であり、使用しないでください。]
ミニポートInitiateOffload は、ホスト スタックから TCP チムニー状態をオフロードします。
構文
W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;
void WInitiateOffloadHandler(
[in] IN NDIS_HANDLE MiniportAdapterContext,
[in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}
パラメーター
[in] MiniportAdapterContext
オフロード ターゲットがアダプターのこのインスタンスに関する状態情報を保持するオフロード ターゲット割り当てコンテキスト領域へのハンドル。 ミニポート ドライバーは、呼び出されたときに NDIS にこのハンドルを提供しました NdisMSetMiniportAttributes からミニポートInitializeEx 関数を します。
[in, out] OffloadBlockList
へのポインター NDIS_MINIPORT_OFFLOAD_BLOCK_LIST スタンドアロン構造体、またはそのような構造体のリンクされたリストのルートにすることができます。
戻り値
何一つ
備考
ミニポートInitiateOffload 関数は、OffloadBlockList ポインターを格納し、返します。 オフロード ターゲットは常に、オフロード操作を非同期的に完了します。NdisMInitiateOffloadComplete をします。 OffloadBlockList ポインターが指す状態ツリーは、ミニポート ドライバーが NdisMInitiateOffloadComplete 呼び出すまで有効です。
ミニポートInitiateOffload 関数から戻った後、オフロード ターゲットは状態ツリーから状態をオフロードします。 ミニポートOffloadContext メンバーが、NULL 値を含むメモリの場所を指すNDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の後に、オフロードする状態が続きます。 詳細については、「オフロード状態 格納および参照する」を参照してください。 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の Header メンバーには、オフロード状態の種類を指定する Type メンバーが含まれています。つまり、メモリ内のNDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の直後に または構造体 オフロード状態構造体が含まれます。
オフロード ターゲットは、NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体に関連付けられているオフロード状態をオフロード コンテキスト領域にオフロードします。 詳細については、「オフロード状態 格納および参照する」を参照してください。
状態をオフロードする場合、オフロード ターゲットは、深さ優先/幅の次の方法 状態ツリーを走査する必要があります。 オフロード ターゲットは、この方法で状態をオフロードすることが重要です。
ミニポートInitiateOffload 関数に渡される状態ツリー内のNDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造の一部は、プレースホルダーまたは関連付ける状態を持たないノードをリンクすることができます。 詳細については、「プレースホルダー、リンカー、および新しいオフロード をする」を参照してください。
オフロード ターゲットは、オフロードされている接続のホスト スタックからバッファーされたデータを受信できます。 オフロードターゲットは、オフロード操作を完了する前に、このデータを独自のバッファーにコピーする必要があります。 バッファリングされた受信データの処理の詳細については、以下を参照してください。 オフロード操作中およびオフロード後にバッファーされた受信データを処理します。
オフロード対象がオフロードする状態オブジェクトごとに、オフロード ターゲットが状態オブジェクトを格納するオフロード コンテキスト領域を参照する PVOID 値も指定する必要があります。 オフロード ターゲットは、この PVOID 値を、状態に関連付けられているNDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体の *MiniportOffloadContext メンバーが指すメモリ位置に書き込みます。 オフロード ターゲットが、NDIS_MINIPORT_OFFLOAD_BLOCK_LIST構造体に関連付けられている状態を正常にオフロードしなかった場合は、*MiniportOffloadContext メンバーが指すメモリ位置に値を書き込むべきではありません。 詳細については、「オフロード状態 格納および参照する」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ndischimney.h (Ndischimney.h を含む) |
IRQL | 任意のレベル |
関連項目
NDIS_MINIPORT_OFFLOAD_BLOCK_LISTNdisMInitiateOffloadComplete の
NdisMSetMiniportAttributes の