次の方法で共有


NDIS_OFFLOAD_ENCAPSULATION構造体 (ndis/encapsulationconfig.h)

NDIS_OFFLOAD_ENCAPSULATION構造体は、OID_OFFLOAD_ENCAPSULATION OID で使用する場合のカプセル化設定を指定します。

構文

typedef struct _NDIS_OFFLOAD_ENCAPSULATION {
  NDIS_OBJECT_HEADER Header;
  struct {
    ULONG Enabled;
    ULONG EncapsulationType;
    ULONG HeaderSize;
  } IPv4;
  struct {
    ULONG Enabled;
    ULONG EncapsulationType;
    ULONG HeaderSize;
  } IPv6;
} NDIS_OFFLOAD_ENCAPSULATION, *PNDIS_OFFLOAD_ENCAPSULATION;

メンバーズ

Header

NDIS_OFFLOAD_ENCAPSULATION構造体の NDIS_OBJECT_HEADER 構造体。 Header が指定する構造体の Type メンバーを NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION、Revision メンバーを NDIS_OFFLOAD_ENCAPSULATION_ REVISION _1 に設定し、Size メンバーを NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1 に設定します。

IPv4

IPv4 カプセル化を指定し、次のメンバーを含むNDIS_OFFLOAD_ENCAPSULATION内の構造体。

IPv4.Enabled

IPv4 カプセル化を有効にする ULONG 値。 プロトコル ドライバーは、IPv4 大送信オフロード バージョン 1 (LSOV1)、LSOV2 (LSOV2)、またはチェックサム オフロードを有効にしている場合、有効な をNDIS_OFFLOAD_SET_ONに設定します。 プロトコル ドライバーがすべてのオフロードを非アクティブ化している場合は、有効 をNDIS_OFFLOAD_SET_OFFに設定します。 それ以外の場合、プロトコル ドライバー 有効 をNDIS_OFFLOAD_SET_NO_CHANGEに設定します。

IPv4.EncapsulationType

IPv4 カプセル化の種類。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されていない場合、このメンバーは 0 になります。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されている場合、プロトコル ドライバーは、EncapsulationType を次のいずれかに設定する必要があります。

価値 意味
NDIS_ENCAPSULATION_IEEE_802_3
IEEE 802.3 カプセル化を指定します。 この値を指定すると、ミニポート ドライバーは、NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Qまたは必要に応じてカプセル化NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOBも使用する必要があります。 詳細については、NDIS_OFFLOAD のドキュメントを参照してください。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
RFC 1483 で説明されているように、ルーティング プロトコルの論理リンク制御 (LLC) カプセル化を指定します。このフラグは、イーサネット LLC/SNAP カプセル化を示すためにも使用されます。

IPv4.HeaderSize

IPv4 パケットで使用されるイーサネット ヘッダーの長さ。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されていない場合、このメンバーは 0 になります。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されている場合、プロトコル ドライバーは HeaderSize 使用するイーサネット ヘッダーのサイズに設定する必要があります。

IPv6

IPv6 カプセル化を指定し、次のメンバーを含むNDIS_OFFLOAD_ENCAPSULATION内の構造体。

IPv6.Enabled

IPv6 カプセル化を有効にする ULONG 値。 プロトコル ドライバーは、IPv6 LSOV1、LSOV2、またはチェックサム オフロードを有効にしている場合、有効な をNDIS_OFFLOAD_SET_ONに設定します。 プロトコル ドライバーがすべてのオフロードを非アクティブ化している場合は、有効 をNDIS_OFFLOAD_SET_OFFに設定します。 それ以外の場合、プロトコル ドライバー 有効 をNDIS_OFFLOAD_SET_NO_CHANGEに設定します。

IPv6.EncapsulationType

IPv6 カプセル化の種類。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されていない場合、EncapsulationType は 0 になります。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されている場合、プロトコル ドライバーは、EncapsulationType を次のいずれかに設定する必要があります。

価値 意味
NDIS_ENCAPSULATION_IEEE_802_3
IEEE 802.3 カプセル化を指定します。 この値を指定すると、ミニポート ドライバーは、NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Qまたは必要に応じてカプセル化NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOBも使用する必要があります。 詳細については、NDIS_OFFLOAD のドキュメントを参照してください。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
RFC 1483 で説明されているように、ルーティング プロトコルの LLC カプセル化を指定します。 このフラグは、イーサネット LLC/SNAP カプセル化を示すためにも使用されます。

IPv6.HeaderSize

IPv6 パケットで使用されるイーサネット ヘッダーの長さ。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されていない場合、このメンバーは 0 になります。 Enabled メンバーが NDIS_OFFLOAD_SET_ON に設定されている場合、プロトコル ドライバーは HeaderSize 使用するイーサネット ヘッダーのサイズに設定する必要があります。

備考

NDIS_OFFLOAD_ENCAPSULATION構造体は、ミニポート アダプターがタスク オフロード サービスに使用する必要がある要求されたカプセル化設定を指定します。

一連の OID_OFFLOAD_ENCAPSULATIONでは、プロトコル ドライバーは、NDIS_OID_REQUEST 構造体の InformationBuffer メンバー内のNDIS_OFFLOAD_ENCAPSULATION構造体を指定します。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ヘッダー ndis/encapsulationconfig.h (ndis.h を含む)

関連項目

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_OFFLOAD_ENCAPSULATION