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 の ReceiveFilterCapabilities、 MiniportPhysicalDeviceObject、 および 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 がサポートされ、有効になっている場合にのみ作成できます。
注釈
フィルター モジュールのアタッチ パラメーターを定義するために、NDIS は、NDIS_FILTER_ATTACH_PARAMETERS構造体へのポインターを FilterAttach 関数に渡します。
フィルター ドライバーは、不要な OID クエリを発行しないようにする必要があります。 代わりに、NDIS_FILTER_ATTACH_PARAMETERSの情報 (使用可能な場合) を使用して、基になるドライバーに関する情報を取得します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |