NDIS_BIND_PARAMETERS構造体 (ndis.h)

NDIS は、バインディングの特性を定義し、プロトコル ドライバーに渡す情報を使用して、 NDIS_BIND_PARAMETERS 構造体を初期化します。

構文

typedef struct _NDIS_BIND_PARAMETERS {
  NDIS_OBJECT_HEADER                Header;
  PNDIS_STRING                      ProtocolSection;
  PNDIS_STRING                      AdapterName;
  PDEVICE_OBJECT                    PhysicalDeviceObject;
  NDIS_MEDIUM                       MediaType;
  ULONG                             MtuSize;
  ULONG64                           MaxXmitLinkSpeed;
  ULONG64                           XmitLinkSpeed;
  ULONG64                           MaxRcvLinkSpeed;
  ULONG64                           RcvLinkSpeed;
  NDIS_MEDIA_CONNECT_STATE          MediaConnectState;
  NDIS_MEDIA_DUPLEX_STATE           MediaDuplexState;
  ULONG                             LookaheadSize;
  PNDIS_PNP_CAPABILITIES            PowerManagementCapabilities;
  ULONG                             SupportedPacketFilters;
  ULONG                             MaxMulticastListSize;
  USHORT                            MacAddressLength;
  UCHAR                             CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  NDIS_PHYSICAL_MEDIUM              PhysicalMediumType;
  PNDIS_RECEIVE_SCALE_CAPABILITIES  RcvScaleCapabilities;
  NET_LUID                          BoundIfNetluid;
  NET_IFINDEX                       BoundIfIndex;
  NET_LUID                          LowestIfNetluid;
  NET_IFINDEX                       LowestIfIndex;
  NET_IF_ACCESS_TYPE                AccessType;
  NET_IF_DIRECTION_TYPE             DirectionType;
  NET_IF_CONNECTION_TYPE            ConnectionType;
  NET_IFTYPE                        IfType;
  BOOLEAN                           IfConnectorPresent;
  PNDIS_PORT                        ActivePorts;
  ULONG                             DataBackFillSize;
  ULONG                             ContextBackFillSize;
  ULONG                             MacOptions;
  NET_IF_COMPARTMENT_ID             CompartmentId;
  PNDIS_OFFLOAD                     DefaultOffloadConfiguration;
  PNDIS_TCP_CONNECTION_OFFLOAD      TcpConnectionOffloadCapabilities;
  PNDIS_STRING                      BoundAdapterName;
  PNDIS_HD_SPLIT_CURRENT_CONFIG     HDSplitCurrentConfig;
  PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
  PNDIS_PM_CAPABILITIES             PowerManagementCapabilitiesEx;
  PNDIS_NIC_SWITCH_CAPABILITIES     NicSwitchCapabilities;
  BOOLEAN                           NDKEnabled;
  PNDIS_NDK_CAPABILITIES            NDKCapabilities;
  PNDIS_SRIOV_CAPABILITIES          SriovCapabilities;
  PNDIS_NIC_SWITCH_INFO_ARRAY       NicSwitchArray;
} NDIS_BIND_PARAMETERS, *PNDIS_BIND_PARAMETERS;

メンバー

Header

NDIS_BIND_PARAMETERS構造体のNDIS_OBJECT_HEADER構造体。 NDIS は、Header がNDIS_OBJECT_TYPE_BIND_PARAMETERSに指定する構造体の Type メンバーを設定します。

NDIS_BIND_PARAMETERS構造体のバージョンを示すために、NDIS は Revision メンバーを次のいずれかの値に設定します。

NDIS_BIND_PARAMETERS_REVISION_4

NDIS 6.30 のさまざまなメンバーを追加しました。

NDIS は、 Size メンバーをNDIS_SIZEOF_BIND_PARAMETERS_REVISION_4に設定します。

NDIS_BIND_PARAMETERS_REVISION_3

NDIS 6.20 の ReceiveFilterCapabilitiesPowerManagementCapabilitiesExおよび NicSwitchCapabilities メンバーを追加しました。

NDIS は、 Size メンバーをNDIS_SIZEOF_BIND_PARAMETERS_REVISION_3に設定します。

NDIS_BIND_PARAMETERS_REVISION_2

NDIS 6.1 の HDSplitCurrentConfig メンバーを追加しました。

NDIS は、 Size メンバーをNDIS_SIZEOF_BIND_PARAMETERS_REVISION_2に設定します。

NDIS_BIND_PARAMETERS_REVISION_1

NDIS 6.0 の元のバージョン。

NDIS は、 Size メンバーをNDIS_SIZEOF_BIND_PARAMETERS_REVISION_1に設定します。

ProtocolSection

レジストリ パスを含む Unicode 文字列へのポインター。 パスは、プロトコル ドライバーのサービス キーから始まり、レジストリ階層からミニポート アダプター名 (Tcpip\Parameters\Adapters\<ミニポート アダプター名など) まで続きます>。 ミニポート アダプター名は、ドライバー スタックで最も下位のミニポート アダプターの名前です。 スタックに MUX 中間ドライバーがある場合、最下位のミニポート アダプターは仮想ミニポートです。 それ以外の場合、最下位のミニポート アダプターは、物理デバイスのミニポート アダプターです。

プロトコル ドライバーは、このレジストリ パスを使用して、ドライバーと基になるミニポート アダプター間のバインドに固有の構成パラメーターを読み取ることができます。

AdapterName

ProtocolBindAdapterEx をバインドする基になるミニポート アダプターの名前を含む Unicode 文字列へのポインター。

PhysicalDeviceObject

基になるミニポート アダプターの物理デバイス オブジェクト。

MediaType

基になるミニポート アダプターがサポートする NdisMediumXxx 型。 NdisMediumXxx 型の詳細については、「NDIS_MEDIUM」を参照してください。

MtuSize

転送単位 (MTU) の最大サイズ。 詳細については、「 OID_GEN_MAXIMUM_FRAME_SIZE」を参照してください。

MaxXmitLinkSpeed

基になるアダプターの最大送信リンク速度 (ビット/秒)。 詳細については、「 OID_GEN_MAX_LINK_SPEED」を参照してください。

XmitLinkSpeed

基になるアダプターの現在の送信リンク速度 (ビット/秒)。 詳細については、「 OID_GEN_LINK_SPEED_EX」を参照してください。

MaxRcvLinkSpeed

基になるアダプターの最大受信リンク速度 (ビット/秒)。 詳細については、「 OID_GEN_MAX_LINK_SPEED」を参照してください。

RcvLinkSpeed

基になるアダプターの現在の受信リンク速度 (ビット/秒)。 詳細については、「 OID_GEN_LINK_SPEED_EX」を参照してください。

MediaConnectState

基になるミニポート アダプターのメディア接続状態。 詳細については、「 OID_GEN_MEDIA_CONNECT_STATUS_EX

MediaDuplexState

基になるミニポート アダプターのメディア二重状態。 詳細については、「 OID_GEN_MEDIA_DUPLEX_STATE」を参照してください。

LookaheadSize

基になるミニポート アダプターの先読みサイズ。 詳細については、「 OID_GEN_CURRENT_LOOKAHEAD」を参照してください。

PowerManagementCapabilities

基になるミニポート アダプターのプラグ アンド プレイ機能。 詳細については、「 OID_PNP_CAPABILITIES」を参照してください。 NDIS 6.20 以降のドライバーでは、代わりに PowerManagementCapabilitiesEx メンバーを使用する必要があります。

SupportedPacketFilters

基になるミニポート アダプターがフィルター処理できるネットワーク パケットの種類を識別するフラグのセット。

MaxMulticastListSize

基になるミニポート アダプターのマルチキャスト アドレス一覧のサイズ。 詳細については、「 OID_802_3_MAXIMUM_LIST_SIZE

MacAddressLength

MAC アドレスの長さ (バイト単位)。 MAC アドレスの長さは、メディアの種類に固有です。

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

現在の MAC アドレス。 たとえば、 OID_802_3_CURRENT_ADDRESS OID は、IEEE 802.3 ドライバーの現在の MAC アドレスを指定します。

PhysicalMediumType

ミニポート アダプターの物理メディアの種類。 詳細については、「 OID_GEN_PHYSICAL_MEDIUM」を参照してください。

RcvScaleCapabilities

NIC の 受信側スケーリング (RSS) 機能。 詳細については、「 OID_GEN_RECEIVE_SCALE_CAPABILITIES

BoundIfNetluid

NDIS NET_LUID 値。これは、ミニポート アダプターに積み重ねられた最上位レベルのインターフェイスのネットワーク インターフェイス名 (RFC 2863 の 場合は ifName ) です。 つまり、ミニポート アダプター経由でインストールされている仮想ミニポートまたはフィルター モジュールがある場合、これは最上位レベルの仮想ミニポートまたはフィルター モジュールのNET_LUID値です。

BoundIfIndex

ミニポート アダプターに積み重ねられた最上位インターフェイスの NDIS ネットワーク インターフェイス インデックス。 つまり、ミニポート アダプター経由でインストールされている仮想ミニポートまたはフィルター モジュールがある場合、これは最上位レベルの仮想ミニポートまたはフィルター モジュールの ifIndex です。

LowestIfNetluid

NDIS NET_LUID 値。これは、バインディングの最下位レベルのインターフェイスのネットワーク インターフェイス名 (RFC 2863 の 場合は ifName ) でもあります。 つまり、フィルター スタックの下部にあるミニポート アダプターの NDIS ネットワーク インターフェイスです。

LowestIfIndex

バインディングの最下位レベル インターフェイスの NDIS ネットワーク インターフェイス インデックス。 つまり、フィルター スタックの下部にあるミニポート アダプターの NDIS ネットワーク インターフェイスです。

AccessType

NET_IF_ACCESS_TYPE NDIS ネットワーク インターフェイスアクセスの種類。

DirectionType

NDIS ネットワーク インターフェイスの方向の種類 NET_IF_DIRECTION_TYPE

ConnectionType

NDIS ネットワーク インターフェイス接続の種類。 一般的なイーサネット アダプターには 、NET_IF_CONNECTION_DEDICATED を使用します。 次の valuse が有効です。

NET_IF_CONNECTION_DEDICATED

専用接続の種類を指定します。 メディアセンスが TRUE の場合、接続は自動的に起動します。 たとえば、イーサネット接続は専用です。

NET_IF_CONNECTION_PASSIVE

パッシブ接続の種類を指定します。 もう一方の端は、ローカル ステーションへの接続を起動する必要があります。 たとえば、RAS インターフェイスはパッシブです。

NET_IF_CONNECTION_DEMAND

需要ダイヤル接続の種類を指定します。 要求ダイヤル接続は、ローカル アクション (パケットの送信など) に応答して起動します。

IfType

インターネット割り当て番号機関 (IANA) インターフェイスの種類。 たとえば、IF_TYPE_ETHERNET_CSMACD (6) は、任意のイーサネットに似たインターフェイスに割り当てられる IfType の値です。 インターフェイスの種類の一覧については、「 NDIS インターフェイスの種類」を参照してください。

IfConnectorPresent

コネクタが存在するかどうかを示すブール値。 物理アダプターがある場合、NDIS はこの値を TRUE に 設定します。

ActivePorts

未定。

DataBackFillSize

基になるドライバー スタックの必要なデータ バックフィル サイズ (バイト単位)。

ContextBackFillSize

基になるドライバー スタックの必要なコンテキスト バックフィル サイズ (バイト単位)。

MacOptions

ミニポート アダプターの MAC オプション。 詳細については、「 OID_GEN_MAC_OPTIONS」を参照してください。

CompartmentId

基になるインターフェイスが属するコンパートメント、または次のいずれかの値。

NET_IF_COMPARTMENT_ID_UNSPECIFIED

コンパートメント ID が使用されていないか、指定されていないことを指定します。

NET_IF_COMPARTMENT_ID_PRIMARY

既定のコンパートメント識別子を指定します。 サード パーティのインターフェイス プロバイダーでは、常にNET_IF_COMPARTMENT_ID_PRIMARYを指定する必要があります。 その他の値はすべて、Microsoft の内部使用のために予約されています。

DefaultOffloadConfiguration

NDIS_OFFLOAD構造体へのポインター。 この構造体は、タスク オフロード対応ミニポート アダプターの機能を指定します。 詳細については、「 OID_TCP_OFFLOAD_CURRENT_CONFIG

TcpConnectionOffloadCapabilities

へのポインター NDIS_TCP_CONNECTION_OFFLOAD 基になるミニポート アダプターによって提供される現在のオフロード機能を示す構造体。

BoundAdapterName

基になるミニポート アダプターに積み重ねられた最上位のミニポート アダプターの名前を含む Unicode 文字列へのポインター。 つまり、ミニポート アダプター経由でインストールされているフィルター中間ドライバー仮想ミニポートがある場合、このメンバーは、最上位レベルのフィルター中間ドライバー仮想ミニポートの名前です。

HDSplitCurrentConfig

へのポインター NDIS_HD_SPLIT_CURRENT_CONFIG 構造体。 この構造体は、基になるミニポート アダプターの現在のヘッダー データ分割構成を指定します。 ミニポート アダプターがヘッダー データ分割をサポートしていない場合、この値は NULL にすることができます。

ReceiveFilterCapabilities

へのポインター NDIS_RECEIVE_FILTER_CAPABILITIES 構造体。 この構造体は、基になるミニポート アダプターで現在有効になっている汎用フィルター機能を指定します。 ミニポート アダプターが受信フィルター処理をサポートしていない場合、この値は NULL にすることができます。

PowerManagementCapabilitiesEx

NDIS_PM_CAPABILITIES構造体へのポインター。 この構造体は、ミニポート アダプターの電源管理機能を指定します。 このメンバーは、NDIS 6.20 以降のドライバーに必須です。

NicSwitchCapabilities

へのポインター NDIS_NIC_SWITCH_CAPABILITIES 構造体。 この構造体は、基になるミニポート アダプターの NIC スイッチ機能を指定します。 ミニポート アダプターが NIC スイッチ機能をサポートしていない場合、この値は NULL にすることができます。

NDKEnabled

ネットワーク ダイレクト カーネル プロバイダー インターフェイス (NDKPI) が基になるミニポート アダプターで現在有効になっている場合、NDIS はこの値を TRUE に設定します。

NDKCapabilities

NDIS_NDK_CAPABILITIES構造体へのポインター。 この構造体は、基になるミニポート アダプターで現在有効になっている NDKPI 機能を指定します。 ミニポート アダプターが NDKPI をサポートしていない場合、この値は NULL にすることができます。

SriovCapabilities

NDIS_SRIOV_CAPABILITIES構造体へのポインター。 この構造体は、基になるミニポート アダプターで現在有効になっている単一ルート I/O 仮想化 (SR-IOV) 機能を指定します。 ミニポート アダプターが SR-IOV 機能をサポートしていない場合、この値は NULL にすることができます。

NicSwitchArray

NDIS_NIC_SWITCH_INFO_ARRAY構造体へのポインター。 この配列は、ミニポート アダプターで作成された NIC スイッチを列挙します。 NIC スイッチは、SR-IOV がサポートされ、アダプターで有効になっている場合にのみ作成できます。

メモWindows Server 2012以降、Windows ではミニポート アダプターの既定の NIC スイッチのみがサポートされます。 したがって、この配列に含めることができる要素は 1 つだけです。
 

注釈

NDIS は、 の BindParameters パラメーター内のNDIS_BIND_PARAMETERS構造体へのポインターを渡します。 ProtocolBindAdapterEx 関数。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_HD_SPLIT_CURRENT_CONFIG

NDIS_MEDIUM

NDIS_NIC_SWITCH_CAPABILITIES

NDIS_NIC_SWITCH_INFO_ARRAY

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_PM_CAPABILITIES

NDIS_RECEIVE_FILTER_CAPABILITIES

NDIS_SRIOV_CAPABILITIES

NDIS_TCP_CONNECTION_OFFLOAD

NET_IF_ACCESS_TYPE

NET_IF_DIRECTION_TYPE

NET_LUID

OID_802_3_CURRENT_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_802_3_PERMANENT_ADDRESS

OID_GEN_CURRENT_LOOKAHEAD

OID_GEN_LINK_SPEED_EX

OID_GEN_MAC_OPTIONS

OID_GEN_MAXIMUM_FRAME_SIZE

OID_GEN_MAX_LINK_SPEED

OID_GEN_MEDIA_CONNECT_STATUS_EX

OID_GEN_MEDIA_DUPLEX_STATE

OID_GEN_PHYSICAL_MEDIUM

OID_GEN_RECEIVE_SCALE_CAPABILITIES

OID_PNP_CAPABILITIES

OID_TCP_OFFLOAD_CURRENT_CONFIG

ProtocolBindAdapterEx