Поделиться через


структура 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). Поставщик задает для элемента Type структуры, указанной в заголовке , значение NDIS_OBJECT_TYPE_DEFAULT, для элемента Revision — NDIS_OBJECT_REVISION_1, а для элемента Size — NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1.

Flags

Флаги, предоставляющие сведения об интерфейсе, описываемом этой структурой. Эти флаги объединяются с побитовой операцией OR. Если ни один из флагов не применяется, установите для этого элемента значение 0. Определены следующие значения флагов:

NIIF_HARDWARE_INTERFACE

Задайте значение , если сетевой интерфейс предназначен для оборудования.

NIIF_FILTER_INTERFACE

Задайте значение , если сетевой интерфейс предназначен для модуля фильтра.

NIIF_NDIS_RESERVED1

Зарезервировано для NDIS.

NIIF_NDIS_RESERVED2

Зарезервировано для NDIS.

NIIF_NDIS_RESERVED3

Зарезервировано для NDIS.

PhysicalLocation

Физическое расположение оборудования, связанного с интерфейсом, указанным в NET_PHYSICAL_LOCATION структура.

WanTunnelType

TunnelIfEncapsMethod (от RFC 2667) для устройств глобальной сети. Если тип туннеля глобальной сети неизвестен, задайте для этого элемента значение 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

Длина (в байтах) понятного имени интерфейса, описываемого этой структурой. Это длина массива WCHAR, расположенного по смещению в элементе FriendlyNameOffset .

FriendlyNameOffset

Смещение начала понятного имени в байтах от начала этой структуры. Это имя должно включать имя изготовителя, продукт и версию аппаратного и программного обеспечения интерфейса. Имя указывается в виде массива значений WCHAR. Элемент FriendlyNameLength указывает длину массива.

InterfaceGuid

Идентификатор GUID, связанный с интерфейсом . Поставщик интерфейса создает GUID интерфейса для интерфейса. Поставщик может вызвать подпрограмму ExUuidCreate , чтобы создать идентификатор GUID. Guid интерфейса должен быть связан с NET_LUID значением, назначенным интерфейсу. Если поставщик сохраняет сведения об интерфейсе в постоянном хранилище, он должен сохранить 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)

См. также раздел

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