クエリ要求として、基になるドライバーは、OID_OFFLOAD_ENCAPSULATION OID を使用して、基になるミニポート アダプターの現在のタスク オフロード カプセル化設定を取得します。 NDIS は、ミニポート ドライバーのこの OID クエリを処理します。
セット要求として、基になるドライバーは、基になるミニポート アダプターのタスク オフロード カプセル化設定を設定するOID_OFFLOAD_ENCAPSULATION OID を使用します。 タスク オフロードをサポートするミニポート ドライバーは、この OID セット要求を処理する必要があります。
備考
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_OFFLOAD_ENCAPSULATION 構造体が含まれています。
ミニポート ドライバー
ミニポート ドライバーがオフロードとこの OID をサポートしていない場合、ドライバーはNDIS_STATUS_NOT_SUPPORTEDを返す必要があります。
ミニポート ドライバーは、現在報告されている TCP オフロード機能を更新する NDIS_OFFLOAD_ENCAPSULATION 構造体の内容を使用する必要があります。 更新後、ミニポート ドライバーは、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 を含む)