NET_IF_INFORMATION 結構 (ndis.h)
NET_IF_INFORMATION結構會提供 NDIS 與已註冊網路介面的相關信息。
語法
typedef struct _NET_IF_INFORMATION {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NET_PHYSICAL_LOCATION PhysicalLocation;
ULONG WanTunnelType;
ULONG PortNumber;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
NET_IF_CONNECTION_TYPE ConnectionType;
BOOLEAN ifConnectorPresent;
USHORT PhysAddressLength;
USHORT PhysAddressOffset;
USHORT PermanentPhysAddressOffset;
USHORT FriendlyNameLength;
USHORT FriendlyNameOffset;
GUID InterfaceGuid;
NET_IF_NETWORK_GUID NetworkGuid;
ULONG SupportedStatistics;
NDIS_MEDIUM MediaType;
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
} NET_IF_INFORMATION, *PNET_IF_INFORMATION;
成員
Header
介面信息結構 (NET_IF_INFORMATION) NDIS_OBJECT_HEADER 結構。 提供者會設定 Header 指定要NDIS_OBJECT_TYPE_DEFAULT的 Type 成員、要NDIS_OBJECT_REVISION_1的 Revision 成員,以及要NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1的 Size 成員。
Flags
提供這個結構所描述之介面相關信息的旗標。 這些旗標會與位 OR 運算結合。 如果沒有任何旗標適用,請將此成員設定為零。 已定義下列旗標值:
NIIF_HARDWARE_INTERFACE
設定網路介面是否適用於硬體。
NIIF_FILTER_INTERFACE
設定網路介面是否用於篩選模組。
NIIF_NDIS_RESERVED1
保留給 NDIS。
NIIF_NDIS_RESERVED2
保留給 NDIS。
NIIF_NDIS_RESERVED3
保留給 NDIS。
PhysicalLocation
與中指定的介面相關聯的硬體實體位置 NET_PHYSICAL_LOCATION 結構。
WanTunnelType
來自 WAN 裝置 RFC 2667) 的 tunnelIfEncapsMethod (。 如果 WAN 通道類型未知,請將此成員設定為 NIIF_WAN_TUNNEL_TYPE_UNKNOWN。
PortNumber
介面的 NDIS 埠號碼。
AccessType
NET_IF_ACCESS_TYPE NDIS 網路介面存取類型。
DirectionType
NET_IF_DIRECTION_TYPE NDIS 網路介面方向類型。
ConnectionType
NET_IF_CONNECTION_TYPE NDIS 網路介面連線類型。
ifConnectorPresent
布爾值,指出連接器是否存在。 如果有實體配接器,請將此值設定為 TRUE ;如果沒有實體配接器,則設定為 FALSE 。
PhysAddressLength
實體位址或 MAC 位址的長度,以位元組為單位。 這個長度是位於 PhysAddressOffset 和 PermanentPhysAddressOffset 成員所指定位移的位元組數位長度。
PhysAddressOffset
目前實體位址的位移,以位元組為單位,從這個結構的開頭。 目前的實體位址是位元組陣列。 陣列的長度是在 PhysAddressLength 成員中指定。 目前的實體位址與 OID_802_3_CURRENT_ADDRESS OID 傳回的值相同。
PermanentPhysAddressOffset
永久實體位址的位移,以位元組為單位,從這個結構的開頭。 永久實體位址是位元組陣列。 陣列的長度是在 PhysAddressLength 成員中指定。 永久實體位址與 OID_802_3_PERMANENT_ADDRESS OID 傳回的值相同。
FriendlyNameLength
這個結構所描述介面的易記名稱長度,以位元組為單位。 這個長度是位於 FriendlyNameOffset 成員位移的WCHAR陣列長度。
FriendlyNameOffset
易記名稱開頭的位移,以位元組為單位,從這個結構的開頭。 此名稱應該包含製造商的名稱、產品,以及介面硬體和軟體的版本。 名稱會指定為 WCHAR 值的陣列。 FriendlyNameLength 成員會指定數位的長度。
InterfaceGuid
與介面相關聯的 GUID。 介面提供者會產生介面的介面 GUID。 提供者可以呼叫 ExUuidCreate 例程來建立 GUID。 介面 GUID 應該與指派給介面 的 NET_LUID 值相關聯。 如果提供者在永續性記憶體中保留介面的相關信息,它應該儲存 GUID,並在電腦重新啟動後重新註冊介面時重複使用 GUID。
NetworkGuid
與介面所屬網路相關聯的 GUID。 如果介面提供者無法提供網路 GUID,它可以傳遞零 GUID。 在此情況下,NDIS 會在主要區間的默認網路中註冊介面。
SupportedStatistics
介面支持的統計數據。 如需詳細資訊,請參閱的 SupportedStatistics 成員 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 結構 。
MediaType
介面支援的 NdisMediumXxx 類型。 如需詳細資訊,請參閱 NDIS_MEDIUM。
PhysicalMediumType
介面的實體中型類型。 如需詳細資訊,請參閱 OID_GEN_PHYSICAL_MEDIUM
備註
網路介面提供者會初始化NET_IF_INFORMATION結構,以提供 NDIS 與已註冊介面的相關信息。 若要註冊介面,提供者會將指標傳遞給 NET_IF_INFORMATION 結構至 NdisIfRegisterInterface 函式。
介面提供者應該為結構配置足夠的記憶體,以及 PhysAddressOffset、 PermanentPhysAddressOffset 和 FriendlyNameOffset 成員指定的數位。 提供者必須在 結構之後提供陣列的值,並設定位移成員來識別陣列的位置。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包含 Ndis.h) |