NDIS_INTERFACE_INFORMATION structure (ifdef.h)

The NDIS_INTERFACE_INFORMATION structure provides information about a network interface for the OID_GEN_INTERFACE_INFO OID.

Syntax

typedef struct _NDIS_INTERFACE_INFORMATION {
  NET_IF_OPER_STATUS         ifOperStatus;
  ULONG                      ifOperStatusFlags;
  NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
  NET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState;
  ULONG                      ifMtu;
  BOOLEAN                    ifPromiscuousMode;
  BOOLEAN                    ifDeviceWakeUpEnable;
  ULONG64                    XmitLinkSpeed;
  ULONG64                    RcvLinkSpeed;
  ULONG64                    ifLastChange;
  ULONG64                    ifCounterDiscontinuityTime;
  ULONG64                    ifInUnknownProtos;
  ULONG64                    ifInDiscards;
  ULONG64                    ifInErrors;
  ULONG64                    ifHCInOctets;
  ULONG64                    ifHCInUcastPkts;
  ULONG64                    ifHCInMulticastPkts;
  ULONG64                    ifHCInBroadcastPkts;
  ULONG64                    ifHCOutOctets;
  ULONG64                    ifHCOutUcastPkts;
  ULONG64                    ifHCOutMulticastPkts;
  ULONG64                    ifHCOutBroadcastPkts;
  ULONG64                    ifOutErrors;
  ULONG64                    ifOutDiscards;
  ULONG64                    ifHCInUcastOctets;
  ULONG64                    ifHCInMulticastOctets;
  ULONG64                    ifHCInBroadcastOctets;
  ULONG64                    ifHCOutUcastOctets;
  ULONG64                    ifHCOutMulticastOctets;
  ULONG64                    ifHCOutBroadcastOctets;
  NET_IF_COMPARTMENT_ID      CompartmentId;
  ULONG                      SupportedStatistics;
} NDIS_INTERFACE_INFORMATION, *PNDIS_INTERFACE_INFORMATION;

Members

ifOperStatus

The operational status of the interface. This status is the same as the value that the OID_GEN_OPERATIONAL_STATUS OID returns.

ifOperStatusFlags

The operational status flags of the interface. This field is reserved for the NDIS proxy interface provider. Other interface providers should set this member to zero.

MediaConnectState

The NET_IF_MEDIA_CONNECT_STATE connection state type.

MediaDuplexState

The media duplex state of the interface. This state is the same as the value that the OID_GEN_MEDIA_DUPLEX_STATE OID returns.

ifMtu

The maximum transmission unit (MTU) of the interface. This MTU is the same as the value that the OID_GEN_MAXIMUM_FRAME_SIZE OID returns.

ifPromiscuousMode

A Boolean value that is TRUE if the interface is in promiscuous mode or FALSE if it is not. This value is the same as the value that OID_GEN_PROMISCUOUS_MODE OID query returns.

ifDeviceWakeUpEnable

A Boolean value that is TRUE if the interface supports wake-on-LAN capability and the capability is enabled, or FALSE if it does not.

XmitLinkSpeed

The transmit link speed, in bytes per second, of the interface. This speed is the same as the value that an OID_GEN_XMIT_LINK_SPEED OID query returns.

RcvLinkSpeed

The receive link speed, in bytes per second, of the interface. This speed is the same as the value that an OID_GEN_RCV_LINK_SPEED OID query returns.

ifLastChange

The time that the interface entered its current operational state. This time is the same as the value that an OID_GEN_LAST_CHANGE OID query returns.

ifCounterDiscontinuityTime

The time of the last discontinuity of the interface's counters. This time is the same as the value that an OID_GEN_DISCONTINUITY_TIME OID query returns.

ifInUnknownProtos

The number of packets that were received through the interface and that were discarded because of an unknown or unsupported protocol. This number is the same as the value that an OID_GEN_UNKNOWN_PROTOS OID query returns.

ifInDiscards

The number of inbound packets that were discarded even though no errors had been detected to prevent them from being deliverable to a higher-layer protocol. This number is the same as the value that an OID_GEN_RCV_DISCARDS OID query returns.

ifInErrors

The number of inbound packets that contained errors that prevented them from being deliverable to a higher layer protocol. This number is the same as the value that an OID_GEN_RCV_ERROR OID query returns.

ifHCInOctets

The total number of bytes that are received on this interface. This number is the same as the value that an OID_GEN_BYTES_RCV OID returns.

ifHCInUcastPkts

The number of directed packets that are received without errors on the interface. This number is the same as the value that an OID_GEN_DIRECTED_FRAMES_RCV OID query returns.

ifHCInMulticastPkts

The number of multicast/functional packets that are received without errors on the interface. This number is the same as the value that an OID_GEN_MULTICAST_FRAMES_RCV OID query returns.

ifHCInBroadcastPkts

The number of broadcast packets that are received without errors on the interface. This number is the same as the value that an OID_GEN_BROADCAST_FRAMES_RCV OID query returns.

ifHCOutOctets

The number of bytes that are transmitted without errors on the interface. This number is the same as the value that an OID_GEN_BYTES_XMIT OID query returns.

ifHCOutUcastPkts

The number of directed packets that are transmitted without errors on the interface. This number is the same as the value that an OID_GEN_DIRECTED_FRAMES_XMIT OID query returns.

ifHCOutMulticastPkts

The number of multicast/functional packets that are transmitted without errors on the interface. This number is the same as the value that an OID_GEN_MULTICAST_FRAMES_XMIT OID query returns.

ifHCOutBroadcastPkts

The number of broadcast packets that are transmitted without errors on the interface. This number is the same as the value that an OID_GEN_BROADCAST_FRAMES_XMIT OID query returns.

ifOutErrors

The number of packets that the interface fails to transmit. This number is the same as the value that an OID_GEN_XMIT_ERROR OID query returns.

ifOutDiscards

The number of packets that the interface discards. This number is the same as the value that an OID_GEN_XMIT_DISCARDS OID query returns.

ifHCInUcastOctets

The number of bytes in directed packets that are received without errors. This count is the same value that OID_GEN_DIRECTED_BYTES_RCV returns.

ifHCInMulticastOctets

The number of bytes in multicast/functional packets that are received without errors. This count is the same value that OID_GEN_MULTICAST_BYTES_RCV returns.

ifHCInBroadcastOctets

The number of bytes in broadcast packets that are received without errors. This count is the same value that OID_GEN_BROADCAST_BYTES_RCV returns.

ifHCOutUcastOctets

The number of bytes in directed packets that are transmitted without errors. This count is the same value that OID_GEN_DIRECTED_BYTES_XMIT returns.

ifHCOutMulticastOctets

The number of bytes in multicast/functional packets that are transmitted without errors. This count is the same value that OID_GEN_MULTICAST_BYTES_XMIT returns.

ifHCOutBroadcastOctets

The number of bytes in broadcast packets that are transmitted without errors. This count is the same value that OID_GEN_BROADCAST_BYTES_XMIT returns.

CompartmentId

The compartment that the interface belongs to, if the interface provider can provide the ID of the compartment to which the interface belongs. Otherwise, it should return NET_IF_COMPARTMENT_ID_UNSPECIFIED. If the interface provider returns NET_IF_COMPARTMENT_ID_UNSPECIFIED for the compartment ID, NDIS will return the right compartment ID for this interface.

SupportedStatistics

The supported statistics. For more information, see the SupportedStatistics member of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure.

Remarks

NDIS interface providers populate an NDIS_INTERFACE_INFORMATION structure in response to a query of the OID_GEN_INTERFACE_INFO OID. This structure contains information that changes during the lifetime of the interface.

To register as an interface provider, an NDIS driver calls the NdisIfRegisterProvider function.

Requirements

Requirement Value
Minimum supported client Supported for NDIS 6.0 drivers in Windows Vista.
Header ifdef.h (include Ndis.h)

See also

Introduction to Network Drivers

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NET_IF_MEDIA_CONNECT_STATE

NdisIfRegisterProvider

OID_GEN_BROADCAST_BYTES_RCV

OID_GEN_BROADCAST_BYTES_XMIT

OID_GEN_BROADCAST_FRAMES_RCV

OID_GEN_BROADCAST_FRAMES_XMIT

OID_GEN_BYTES_RCV

OID_GEN_BYTES_XMIT

OID_GEN_DIRECTED_BYTES_RCV

OID_GEN_DIRECTED_BYTES_XMIT

OID_GEN_DIRECTED_FRAMES_RCV

OID_GEN_DIRECTED_FRAMES_XMIT

OID_GEN_DISCONTINUITY_TIME

OID_GEN_INTERFACE_INFO

OID_GEN_LAST_CHANGE

OID_GEN_MAXIMUM_FRAME_SIZE

OID_GEN_MEDIA_CONNECT_STATUS_EX

OID_GEN_MEDIA_DUPLEX_STATE

OID_GEN_MULTICAST_BYTES_RCV

OID_GEN_MULTICAST_BYTES_XMIT

OID_GEN_MULTICAST_FRAMES_RCV

OID_GEN_MULTICAST_FRAMES_XMIT

OID_GEN_OPERATIONAL_STATUS

OID_GEN_PROMISCUOUS_MODE

OID_GEN_RCV_DISCARDS

OID_GEN_RCV_ERROR

OID_GEN_RCV_LINK_SPEED

OID_GEN_UNKNOWN_PROTOS

OID_GEN_XMIT_DISCARDS

OID_GEN_XMIT_ERROR

OID_GEN_XMIT_LINK_SPEED