OID_OFFLOAD_ENCAPSULATION
クエリ要求として、上部のドライバーは、OID_OFFLOAD_ENCAPSULATION OID を使用して、基になるミニポート アダプターの現在のタスク オフロードのカプセル化設定を取得します。 NDIS は、ミニポート ドライバー用にこの OID クエリを処理します。
上部のドライバーは、セット要求として、OID_OFFLOAD_ENCAPSULATION OID を使用して、基になるミニポート アダプターのタスク オフロードのカプセル化設定を設定します。 タスク オフロードをサポートするミニポート ドライバーは、この OID セット要求を処理する必要があります。
解説
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_OFFLOAD_ENCAPSULATION 構造体が含まれています。
ミニポート ドライバー
ミニポート ドライバーがオフロードとこの OID をサポートしていない場合は、ミニポート ドライバーは NDIS_STATUS_NOT_SUPPORTED を返します。
ミニポート ドライバーは、NDIS_OFFLOAD_ENCAPSULATION 構造体の内容を使用して、現在報告されている TCP オフロード機能を更新する必要があります。 更新後、ミニポート ドライバーは、NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態表示で現在のタスク オフロード機能を報告する必要があります。 この状態表示により、すべての上位プロトコル ドライバーが新しい機能情報で更新されます。
この OID は、すべての構成済みまたは有効なオフロードをアクティブ化するか、すべてのオフロードを非アクティブ化するために使用されます (つまり、ハードウェアはオフロードの実行を開始します)。 個々のオフロードを細かく制御することはできません。 代わりに、 OID_TCP_OFFLOAD_PARAMETERS を使用して、個々のオフロードを構成し、これらをアクティブ化することもできます。 通常、ほとんどの TCP/IP タスク オフロードは、OID_TCP_OFFLOAD_PARAMETERS を使用して構成およびアクティブ化できます。
ただし、この OID の NDIS_OFFLOAD_ENCAPSULATION 構造体では、OID_TCP_OFFLOAD_PARAMETERS の NDIS_OFFLOAD_PARAMETERS 構造体で対象外の他の 2 つのカプセル化の種類 (NDIS_ENCAPSULATION_IEEE_802_3 と NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED) も対象として含まれます。 ミニポート ドライバーは、さまざまな OID の対象となるカプセル化の種類のこの違いを処理する必要があります。
プロトコル ドライバーによってこの OID が発行され、すべてのオフロードを非アクティブ化する場合、NDIS_OFFLOAD_ENCAPSULATION メンバーの Enabled メンバーは NDIS_OFFLOAD_SET_OFF に設定されます。
カプセル化の設定 (プロトコル ドライバー)
プロトコル ドライバーは、システム カプセル化の要件を決定した後に OID_OFFLOAD_ENCAPSULATION を設定します。 プロトコル ドライバーは、NDIS_BIND_PARAMETERS 構造体から、または OID_TCP_OFFLOAD_CURRENT_CONFIG に対してクエリを実行して、基になるミニポート アダプターの機能を特定できます。 プロトコル ドライバーは、1 つ以上のオフロード サービスでミニポート アダプターが サポートするカプセル化の種類を設定する必要があります。
ミニポート ドライバーは、要求されたカプセル化の種類をサポートするオフロードの種類をサポートしている場合は、OID_OFFLOAD_ENCAPSULATION のセットに応答して NDIS_STATUS_SUCCESS を返す必要があります。 それ以外の場合は、ミニポート ドライバーは NDIS_STATUS_INVALID_PARAMETER を返す必要があります。
送信操作の場合、プロトコル ドライバーは、ミニポート アダプターが必要なカプセル化の種類でサポートするオフロードの種類のみを使用して送信要求を発行できます。 したがって、OID_OFFLOAD_ENCAPSULATION の OID セット要求が失敗した場合、プロトコル ドライバーは、そのミニポート アダプターに転送される送信要求でオフロード設定を使用する必要があります。
受信操作の場合、ミニポート ドライバーは、OID_OFFLOAD_ENCAPSULATION の OID セット要求を受信するまで、チェックサムまたはインターネット プロトコル セキュリティ (IPsec) オフロード サービスを開始できません。
現在のカプセル化設定の取得 (プロトコル ドライバー)
プロトコル ドライバーは、OID_OFFLOAD_ENCAPSULATION OID の設定後にのみ、OID_OFFLOAD_ENCAPSULATION クエリを発行できます。
NDIS は、現在のカプセル化設定が含まれている NDIS_OFFLOAD_ENCAPSULATION 構造体で応答します。
プロトコル ドライバーは、NDIS_STATUS_Xxx エラー コードを処理する必要があります。 エラーが発生した場合、プロトコル ドライバーは、影響を受けるミニポート アダプターに送信されるオフロード操作を試行することはできません。
関連項目
NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG
要件
バージョン: Windows Vista 以降 ヘッダー: Ntddndis.h (Ndis.h を含む)