структура 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) |