NdisMGetOffloadHandlers 関数 (ndischimney.h)

[TCP のチムニー オフロード機能は非推奨であり、使用しないでください。]

この関数は、特定のチムニー型の NDIS 関数のエントリ ポイントを取得します。

構文

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

パラメーター

[in] NdisMiniportHandle

オフロード ターゲットがアダプターのこのインスタンスに関する状態情報を保持するオフロード ターゲット割り当て済みのコンテキスト領域へのハンドル。 オフロード ターゲットは、 を呼び出すときに NDIS にこのハンドルを提供しました NdisMSetMiniportAttributes MiniportInitializeEx 関数。

[in] ChimneyType

次のNDIS_CHIMNEY_OFFLOAD_TYPE値のいずれかであるチムニー型。

NdisTcpChimneyOffload

TCP チムニー オフロードの種類。

その他のすべてのNDIS_CHIMNEY_OFFLOAD_TYPE値は、現在予約されています。

[out] OffloadHandlers

オフロード ターゲットによって提供される変数へのポインター。 この変数のサイズは sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS) です。 NdisMGetOffloadHandlers 関数の呼び出しが成功した場合、関数は、この変数で、NDIS_OFFLOAD_EVENT_HANDLERS構造体へのポインターを返します。 この構造体は、エントリ ポイントを含む、チムニー固有の構造体のヘッダーとして機能します。 NDIS_OFFLOAD_EVENT_HANDLERS構造体は、次のように書式設定されます。

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

この構造体には、次のメンバーが含まれています。

NDIS オブジェクト ヘッダーを指定します。これは、 NDIS_OBJECT_HEADER 構造体として書式設定されます。

戻り値

NdisMGetOffloadHandlers は、次のいずれかを返すことができます。

リターン コード 説明
STATUS_SUCCESS
呼び出しは成功しました。 返される NDIS エントリ ポイントは、指定されたチムニーの種類に対して有効です。
STATUS_NOT_SUPPORTED
NDIS では、オフロード ターゲットで指定されたチムニーの種類はサポートされていません。 この場合、NDIS は有効な OffloadHandlers ポインターを 返しません。

注釈

オフロード ターゲットは 、ミニポートInitializeEx 関数からこの関数を呼び出して、特定のチムニー型の NDIS 関数のエントリ ポイントを取得します。 オフロード ターゲットは 、NdisMGetOffloadHandlers をサポートしている各チムニーの種類に対して 1 回呼び出します。 各呼び出しでは、オフロード ターゲットは異なるチムニーの種類を指定します。

NdisMGetOffloadHandlers 関数の呼び出しが成功した場合、NDIS は有効な OffloadHandlers ポインターを提供します。これは、NDIS_OFFLOAD_EVENT_HANDLERS構造体を指します。 この構造体には、 NDIS_OBJECT_HEADER 構造体が含まれています。 オフロード ターゲットは、NDIS_OBJECT_HEADER構造体の TypeRevisionSize の各メンバーを調べます。 これらのメンバーは、チムニー固有のエントリ ポイントを含む構造体、この構造体のリビジョン番号、およびこの構造体のサイズをバイト単位で指定します。 Type 値は、ChimneyType パラメーターに指定されたオフロード ターゲットと同じ値です。

オフロード ターゲットが指定した リビジョン 番号をサポートしている場合は、 OffloadHandlers ポインターを適切なチムニー固有の構造体の種類へのポインターにキャストします。 次の表は、各チムニータイプのチムニー固有の構造を示しています。

ChimneyType チムニー固有のハンドラー構造
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

たとえば、 NdisTcpChimneyOffload のチムニー 型の場合、オフロード ターゲットは OffloadHandlers ポインターを *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS にキャストします。

チムニー固有のハンドラー構造には、NDIS_OFFLOAD_EVENT_HANDLERS構造と同じNDIS_OBJECT_HEADER構造が含まれています。

オフロード ターゲットは、チムニー固有の構造体から独自の内部データ構造にエントリ ポイントをコピーし、 を返します。

要件

要件
対象プラットフォーム ユニバーサル
Header ndischimney.h (Ndischimney.h を含む)

こちらもご覧ください

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes