NDIS_FILTER_ATTACH_PARAMETERS構造体 (ndis.h)

NDIS_FILTER_ATTACH_PARAMETERS構造体は、フィルター モジュールの初期化パラメーターを定義します。

構文

typedef struct _NDIS_FILTER_ATTACH_PARAMETERS {
  NDIS_OBJECT_HEADER                Header;
  NET_IFINDEX                       IfIndex;
  NET_LUID                          NetLuid;
  PNDIS_STRING                      FilterModuleGuidName;
  NET_IFINDEX                       BaseMiniportIfIndex;
  PNDIS_STRING                      BaseMiniportInstanceName;
  PNDIS_STRING                      BaseMiniportName;
  NDIS_MEDIA_CONNECT_STATE          MediaConnectState;
  NET_IF_MEDIA_DUPLEX_STATE         MediaDuplexState;
  ULONG64                           XmitLinkSpeed;
  ULONG64                           RcvLinkSpeed;
  NDIS_MEDIUM                       MiniportMediaType;
  NDIS_PHYSICAL_MEDIUM              MiniportPhysicalMediaType;
  NDIS_HANDLE                       MiniportMediaSpecificAttributes;
  PNDIS_OFFLOAD                     DefaultOffloadConfiguration;
  USHORT                            MacAddressLength;
  UCHAR                             CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  NET_LUID                          BaseMiniportNetLuid;
  NET_IFINDEX                       LowerIfIndex;
  NET_LUID                          LowerIfNetLuid;
  ULONG                             Flags;
  PNDIS_HD_SPLIT_CURRENT_CONFIG     HDSplitCurrentConfig;
  PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
  PDEVICE_OBJECT                    MiniportPhysicalDeviceObject;
  PNDIS_NIC_SWITCH_CAPABILITIES     NicSwitchCapabilities;
  BOOLEAN                           BaseMiniportIfConnectorPresent;
  PNDIS_SRIOV_CAPABILITIES          SriovCapabilities;
  PNDIS_NIC_SWITCH_INFO_ARRAY       NicSwitchArray;
} NDIS_FILTER_ATTACH_PARAMETERS, *PNDIS_FILTER_ATTACH_PARAMETERS;

メンバー

Header

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

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

NDIS_FILTER_ATTACH__PARAMETERS_REVISION_4

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

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

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_3

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

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

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_2

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

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

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_1

NDIS 6.0 の元のバージョン。

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

IfIndex

NDIS がドライバー スタックにアタッチしているフィルター モジュールの NDIS インターフェイス インデックス。

NetLuid

NDIS ネットワーク インターフェイス は、 NDIS がドライバー スタックにアタッチしているフィルター モジュールの値をNET_LUIDします。 NET_LUIDはインターフェイス名 (RFC 2863 の ifName) と同じです。

FilterModuleGuidName

NDIS がアタッチしているフィルター モジュールの GUID 名。

BaseMiniportIfIndex

基本ミニポート アダプターの NDIS ネットワーク インターフェイス インデックス。 つまり、物理ミニポート アダプター経由でインストールされている仮想ミニポートまたはフィルター モジュールがある場合、このメンバーの値は、物理ミニポート アダプターのインターフェイス インデックスまたは最上位の MUX 中間ドライバーの仮想ミニポートです。

BaseMiniportInstanceName

カウントされた Unicode 文字列を含むNDIS_STRING型の値へのポインター。 この文字列は、基本ミニポート アダプターのインターフェイスのフレンドリ名を指定します。 Windows 2000 以降のバージョンの場合、NDIS はNDIS_STRING型を UNICODE_STRING 型として定義します。

BaseMiniportName

基本ミニポート アダプターの名前。

MediaConnectState

次に、 接続状態の種類NET_IF_MEDIA_CONNECT_STATE します。

MediaDuplexState

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

XmitLinkSpeed

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

RcvLinkSpeed

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

MiniportMediaType

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

MiniportPhysicalMediaType

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

MiniportMediaSpecificAttributes

ミニポート メディア固有の属性を含む構造体を識別する NDIS_OBJECT_HEADER 構造体へのポインター。このような属性がない場合は NULL 。 NDIS_OBJECT_HEADER構造体の Type メンバーは、属性構造体の型を識別します。 たとえば、基になるミニポート アダプターのメディアの種類が NdisMediumNative802_11されている場合、 Type メンバーはNDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTESする必要があり、 MiniportMediaSpecificAttributes メンバーは を指します。 NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES 構造体。

DefaultOffloadConfiguration

タスク オフロード属性を定義する NDIS_OFFLOAD 構造体へのポインター。 フィルター ドライバーでは、基になるドライバーのタスク オフロード機能を取得するには、これらの属性を確認する必要があります。 必要に応じて、フィルター ドライバーでこれらの属性を変更して、必要なタスク オフロード サポートの変更を反映する必要があります。

MacAddressLength

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

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

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

BaseMiniportNetLuid

基本ミニポート アダプターの NDIS ネットワーク インターフェイスNET_LUID。 つまり、物理ミニポート アダプター経由でインストールされている仮想ミニポートまたはフィルター モジュールがある場合、このメンバーの値は、物理ミニポート アダプターのNET_LUIDまたは最上位の MUX 中間ドライバーの仮想ミニポートです。

LowerIfIndex

現在のフィルター モジュールのすぐ下にあるインターフェイスの NDIS ネットワーク インターフェイス インデックス。 つまり、フィルター モジュールまたは NDIS 5 がある場合です。 x 物理ミニポート アダプターまたは最上位の MUX 中間ドライバー上にインストールされているフィルター中間ドライバー、このメンバーには、現在のフィルター モジュールのすぐ下にあるフィルター モジュール インターフェイスまたはフィルター中間ドライバー インターフェイスのインターフェイス インデックスが含まれています。 物理ミニポート アダプターまたは最上位レベルの MUX 中間ドライバー上にインストールされているフィルター モジュールまたはフィルター中間ドライバー インターフェイスがない場合、このメンバーには、基になる物理ミニポート アダプターまたは最上位の MUX 中間ドライバー仮想ミニポートのインターフェイス インデックスが含まれます。

LowerIfNetLuid

NDIS ネットワーク インターフェイスNET_LUID現在のフィルター モジュールのすぐ下にあるインターフェイスの値です。 つまり、フィルター モジュールまたは NDIS 5 がある場合です。 x 物理ミニポート アダプターまたは最上位の MUX 中間ドライバー経由でインストールされているフィルター中間ドライバー、このメンバーには、現在のフィルター モジュールのすぐ下にあるフィルター モジュール インターフェイスまたはフィルター中間ドライバー インターフェイスのネットワーク インターフェイス NET_LUIDが含まれています。 物理ミニポート アダプターまたは最上位レベルの MUX 中間ドライバーにインストールされているフィルター モジュールまたはフィルター中間ドライバー インターフェイスがない場合、このメンバーには、基になる物理ミニポート アダプターまたは最上位の MUX 中間ドライバー仮想ミニポートのネットワーク インターフェイス NET_LUIDが含まれます。

Flags

将来利用するために予約されています。

HDSplitCurrentConfig

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

ReceiveFilterCapabilities

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

MiniportPhysicalDeviceObject

DEVICE_OBJECT構造体へのポインター。 この構造体は、基になるミニポート アダプターの物理デバイスを表します。

NicSwitchCapabilities

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

BaseMiniportIfConnectorPresent

TRUE に設定されている場合、基になるネットワーク アダプターにネットワーク インターフェイス (存在する場合) コネクタが存在するかどうかを示すブール値。 物理アダプターの場合、この値は TRUE に設定する必要があります。

SriovCapabilities

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

詳細については、「 単一ルート I/O 仮想化 (SR-IOV)」を参照してください。

NicSwitchArray

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

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

注釈

フィルター モジュールのアタッチ パラメーターを定義するために、NDIS は、NDIS_FILTER_ATTACH_PARAMETERS構造体へのポインターを FilterAttach 関数に渡します。

フィルター ドライバーは、不要な OID クエリを発行しないようにする必要があります。 代わりに、NDIS_FILTER_ATTACH_PARAMETERSの情報 (使用可能な場合) を使用して、基になるドライバーに関する情報を取得します。

要件

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

こちらもご覧ください

DEVICE_OBJECT

FilterAttach

NDIS_HD_SPLIT_CURRENT_CONFIG

NDIS_MEDIUM

NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES

NDIS_NIC_SWITCH_CAPABILITIES

NDIS_NIC_SWITCH_INFO_ARRAY

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_RECEIVE_FILTER_CAPABILITIES

NDIS_SRIOV_CAPABILITIES

NET_IF_MEDIA_CONNECT_STATE

NET_LUID

OID_802_3_CURRENT_ADDRESS

OID_GEN_LINK_SPEED_EX

OID_GEN_MEDIA_CONNECT_STATUS_EX

OID_GEN_MEDIA_DUPLEX_STATE

OID_GEN_PHYSICAL_MEDIUM

UNICODE_STRING