NET_IF_INFORMATION structure (ndis.h)

The NET_IF_INFORMATION structure provides NDIS with information about a registered network interface.

Syntax

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;

Members

Header

The NDIS_OBJECT_HEADER structure for the interface information structure (NET_IF_INFORMATION). The provider sets the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_DEFAULT, the Revision member to NDIS_OBJECT_REVISION_1, and the Size member to NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1.

Flags

Flags that provide information about the interface that this structure describes. These flags are combined with a bitwise OR operation. If none of the flags applies, set this member to zero. The following flag values are defined:

NIIF_HARDWARE_INTERFACE

Set if the network interface is for hardware.

NIIF_FILTER_INTERFACE

Set if the network interface is for a filter module.

NIIF_NDIS_RESERVED1

Reserved for NDIS.

NIIF_NDIS_RESERVED2

Reserved for NDIS.

NIIF_NDIS_RESERVED3

Reserved for NDIS.

PhysicalLocation

The physical location for the hardware that is associated with an interface specified in a NET_PHYSICAL_LOCATION structure.

WanTunnelType

The tunnelIfEncapsMethod (from RFC 2667) for WAN devices. If the WAN tunnel type is unknown, set this member to NIIF_WAN_TUNNEL_TYPE_UNKNOWN.

PortNumber

The NDIS port number for the interface.

AccessType

A NET_IF_ACCESS_TYPE NDIS network interface access type.

DirectionType

A NET_IF_DIRECTION_TYPE NDIS network interface direction type.

ConnectionType

A NET_IF_CONNECTION_TYPE NDIS network interface connection type.

ifConnectorPresent

A Boolean value that indicates if a connector is present. Set this value to TRUE if there is a physical adapter or FALSE if there is no physical adapter.

PhysAddressLength

The length, in bytes, of the physical address or MAC address. This length is the length of the byte arrays that are located at the offsets that the PhysAddressOffset and PermanentPhysAddressOffset members specify.

PhysAddressOffset

The offset of the current physical address, in bytes, from the beginning of this structure. The current physical address is an array of bytes. The length of the array is specified in the PhysAddressLength member. The current physical address is the same value that the OID_802_3_CURRENT_ADDRESS OID returns.

PermanentPhysAddressOffset

The offset of the permanent physical address, in bytes, from the beginning of this structure. The permanent physical address is an array of bytes. The length of the array is specified in the PhysAddressLength member. The permanent physical address is the same value that the OID_802_3_PERMANENT_ADDRESS OID returns.

FriendlyNameLength

The length, in bytes, of the friendly name for the interface that this structure describes. This length is the length of the WCHAR array that is located at the offset in the FriendlyNameOffset member.

FriendlyNameOffset

The offset of the beginning of the friendly name, in bytes, from the beginning of this structure. This name should include the name of the manufacturer, the product, and the version of the interface hardware and software. The name is specified as an array of WCHAR values. The FriendlyNameLength member specifies the length of the array.

InterfaceGuid

The GUID that is associated with the interface. The interface provider generates the interface GUID for the interface. The provider can call the ExUuidCreate routine to create the GUID. The interface GUID should be associated with the NET_LUID value that is assigned to the interface. If the provider retains information about the interface in persistent storage, it should save the GUID and reuse the GUID when it reregisters the interface after the computer restarts.

NetworkGuid

The GUID that is associated with the network that the interface belongs to. If the interface provider cannot provide the network GUID, it can pass a zero GUID. In this case, NDIS will register the interface in the default network of the primary compartment.

SupportedStatistics

The statistics that the interface supports. For more information, see the SupportedStatistics member of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure .

MediaType

The NdisMediumXxx type that the interface supports. For more information, see NDIS_MEDIUM.

PhysicalMediumType

The physical medium type for the interface. For more information, see OID_GEN_PHYSICAL_MEDIUM

Remarks

A network interface provider initializes a NET_IF_INFORMATION structure to provide NDIS with information about a registered interface. To register an interface, a provider passes a pointer to a NET_IF_INFORMATION structure to the NdisIfRegisterInterface function.

The interface provider should allocate enough memory for the structure and the arrays that the PhysAddressOffset, PermanentPhysAddressOffset, and FriendlyNameOffset members specify. The provider must provide the values for the arrays after the structure and set the offset members to identify the location of the arrays.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and later.
Header ndis.h (include Ndis.h)

See also

ExUuidCreate

NDIS_MEDIUM

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NET_IF_ACCESS_TYPE

NET_IF_CONNECTION_TYPE

NET_IF_DIRECTION_TYPE

NET_LUID

NET_PHYSICAL_LOCATION

NdisIfRegisterInterface

OID_802_3_CURRENT_ADDRESS

OID_802_3_PERMANENT_ADDRESS

OID_GEN_PHYSICAL_MEDIUM

OID_GEN_STATISTICS