estructura NET_IF_INFORMATION (ndis.h)
La estructura de NET_IF_INFORMATION proporciona a NDIS información sobre una interfaz de red registrada.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER de la estructura de información de la interfaz (NET_IF_INFORMATION). El proveedor establece el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_OBJECT_REVISION_1 y el miembro Size en NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1.
Flags
Marcas que proporcionan información sobre la interfaz que describe esta estructura. Estas marcas se combinan con una operación OR bit a bit. Si no se aplica ninguna de las marcas, establezca este miembro en cero. Se definen los siguientes valores de marca:
NIIF_HARDWARE_INTERFACE
Establezca si la interfaz de red es para hardware.
NIIF_FILTER_INTERFACE
Establezca si la interfaz de red es para un módulo de filtro.
NIIF_NDIS_RESERVED1
Reservado para NDIS.
NIIF_NDIS_RESERVED2
Reservado para NDIS.
NIIF_NDIS_RESERVED3
Reservado para NDIS.
PhysicalLocation
Ubicación física del hardware asociado a una interfaz especificada en un NET_PHYSICAL_LOCATION estructura.
WanTunnelType
TunnelIfEncapsMethod (desde RFC 2667) para dispositivos WAN. Si se desconoce el tipo de túnel WAN, establezca este miembro en NIIF_WAN_TUNNEL_TYPE_UNKNOWN.
PortNumber
Número de puerto NDIS de la interfaz.
AccessType
Tipo de acceso de interfaz de red NDIS NET_IF_ACCESS_TYPE.
DirectionType
Un NET_IF_DIRECTION_TYPE tipo de dirección de la interfaz de red NDIS.
ConnectionType
Un NET_IF_CONNECTION_TYPE tipo de conexión de interfaz de red NDIS.
ifConnectorPresent
Valor booleano que indica si hay un conector presente. Establezca este valor en TRUE si hay un adaptador físico o FALSE si no hay ningún adaptador físico.
PhysAddressLength
Longitud, en bytes, de la dirección física o de la dirección MAC. Esta longitud es la longitud de las matrices de bytes que se encuentran en los desplazamientos que especifican los miembros PhysAddressOffset y PermanentPhysAddressOffset .
PhysAddressOffset
Desplazamiento de la dirección física actual, en bytes, desde el principio de esta estructura. La dirección física actual es una matriz de bytes. La longitud de la matriz se especifica en el miembro PhysAddressLength . La dirección física actual es el mismo valor que devuelve el OID_802_3_CURRENT_ADDRESS OID.
PermanentPhysAddressOffset
Desplazamiento de la dirección física permanente, en bytes, desde el principio de esta estructura. La dirección física permanente es una matriz de bytes. La longitud de la matriz se especifica en el miembro PhysAddressLength . La dirección física permanente es el mismo valor que devuelve el OID_802_3_PERMANENT_ADDRESS OID.
FriendlyNameLength
Longitud, en bytes, del nombre descriptivo de la interfaz que describe esta estructura. Esta longitud es la longitud de la matriz WCHAR que se encuentra en el desplazamiento del miembro FriendlyNameOffset .
FriendlyNameOffset
Desplazamiento del principio del nombre descriptivo, en bytes, desde el principio de esta estructura. Este nombre debe incluir el nombre del fabricante, el producto y la versión del hardware y el software de la interfaz. El nombre se especifica como una matriz de valores WCHAR. El miembro FriendlyNameLength especifica la longitud de la matriz.
InterfaceGuid
GUID asociado a la interfaz . El proveedor de interfaz genera el GUID de interfaz para la interfaz. El proveedor puede llamar a la rutina ExUuidCreate para crear el GUID. El GUID de interfaz debe asociarse con el valor de NET_LUID que se asigna a la interfaz. Si el proveedor conserva información sobre la interfaz en el almacenamiento persistente, debe guardar el GUID y reutilizarlo cuando vuelva a registrar la interfaz después de reiniciar el equipo.
NetworkGuid
GUID asociado a la red a la que pertenece la interfaz. Si el proveedor de interfaz no puede proporcionar el GUID de red, puede pasar un GUID cero. En este caso, NDIS registrará la interfaz en la red predeterminada del compartimiento principal.
SupportedStatistics
Estadísticas que admite la interfaz. Para obtener más información, vea el miembro SupportedStatistics del NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES estructura .
MediaType
Tipo NdisMediumXxx que admite la interfaz. Para obtener más información, consulte NDIS_MEDIUM.
PhysicalMediumType
Tipo medio físico para la interfaz. Para obtener más información, consulte OID_GEN_PHYSICAL_MEDIUM
Comentarios
Un proveedor de interfaz de red inicializa una estructura de NET_IF_INFORMATION para proporcionar a NDIS información sobre una interfaz registrada. Para registrar una interfaz, un proveedor pasa un puntero a una estructura de NET_IF_INFORMATION a la Función NdisIfRegisterInterface .
El proveedor de interfaz debe asignar memoria suficiente para la estructura y las matrices que especifican los miembros PhysAddressOffset, PermanentPhysAddressOffset y FriendlyNameOffset . El proveedor debe proporcionar los valores de las matrices después de la estructura y establecer los miembros de desplazamiento para identificar la ubicación de las matrices.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Encabezado | ndis.h (incluya Ndis.h) |