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
介面信息結構的 NDIS_OBJECT_HEADER 結構(NET_IF_INFORMATION)。 提供者會將 Header 指定為 NDIS_OBJECT_TYPE_DEFAULT的 Type 成員、將 Revision 成員設定為 NDIS_OBJECT_REVISION_1,並將 Size 成員設定為 NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1。
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 裝置的 tunnelIfEncapsMethod (來自 RFC 2667)。 如果 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
布爾值,指出連接器是否存在。 如果實體適配卡 FALSE 沒有實體配接器,請將此值設定為 TRUE。
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) |