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 メンバーを REVISION _1 にNDIS_OFFLOAD_ENCAPSULATION_し、Size メンバーをNDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1に設定します。

IPv4

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

IPv4.Enabled

IPv4 カプセル化を有効にする ULONG 値。 プロトコル ドライバーは、IPv4 の大きい送信オフロード バージョン 1 (LSOV1)、大規模な送信オフロード バージョン 2 (LSOV2)、またはチェックサム オフロードを有効にする場合は、 NDIS_OFFLOAD_SET_ONに有効 に設定します。 プロトコル ドライバーがすべてのオフロードを非アクティブ化している場合は、 [有効] をNDIS_OFFLOAD_SET_OFFに設定します。 それ以外の場合、プロトコル ドライバーは Enabled を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、またはチェックサム オフロードを有効にしている場合、 Enabled をNDIS_OFFLOAD_SET_ONに設定します。 プロトコル ドライバーがすべてのオフロードを非アクティブ化している場合は、 [有効] をNDIS_OFFLOAD_SET_OFFに設定します。 それ以外の場合、プロトコル ドライバーは Enabled を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 以降でサポートされています。
Header ndis/encapsulationconfig.h (ndis.h を含む)

こちらもご覧ください

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_OFFLOAD_ENCAPSULATION