Compartir a través de


Función NdisIfRegisterInterface (ndis.h)

La función NdisIfRegisterInterface registra una interfaz de red NDIS.

Sintaxis

NDIS_STATUS NdisIfRegisterInterface(
  [in] NDIS_HANDLE         NdisProviderHandle,
  [in] NET_LUID            NetLuid,
  [in] NDIS_HANDLE         ProviderIfContext,
  [in] PNET_IF_INFORMATION pIfInfo,
       PNET_IFINDEX        pfIndex
);

Parámetros

[in] NdisProviderHandle

Identificador que identifica el proveedor de interfaz de red que registra la interfaz. El autor de la llamada obtuvo este identificador de una llamada anterior a . función NdisIfRegisterProvider.

[in] NetLuid

Valor de NET_LUID proporcionado por el autor de la llamada que está asociado a la interfaz . El proveedor de interfaz usó la macro NDIS_MAKE_NET_LUID para crear este valor NET_LUID. El proveedor de interfaz debe recuperar el valor de NET_LUID del almacenamiento persistente después de reiniciar el equipo y proporcionar el mismo valor NET_LUID cada vez que registra una interfaz determinada.

[in] ProviderIfContext

Identificador de un área de contexto asignada por el autor de la llamada asociada a la interfaz. NDIS pasa este identificador a las funciones de devolución de llamada que el autor de la llamada registró con NdisIfRegisterProvider.

[in] pIfInfo

Puntero a una estructura de NET_IF_INFORMATION asignada por el autor de la llamada que proporciona información sobre la interfaz. Esta estructura contiene información que permanece constante mientras existe la interfaz.

pfIndex

Puntero a una variable de índice de interfaz proporcionada por el autor de la llamada. Si NDIS registra correctamente una interfaz, NDIS asigna un índice de interfaz para esa interfaz y establece el valor en pIfIndex . El índice de interfaz es un valor de 24 bits que es único en el equipo local. Es posible que NDIS no devuelva el mismo índice de interfaz cada vez que un proveedor registra una interfaz con el mismo valor de NET_LUID . El valor de índice de interfaz cero está reservado y NDIS no lo asigna a ninguna interfaz. No confunda el índice de interfaz con un índice de NET_LUID.

Valor devuelto

NdisIfRegisterInterface devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La operación se completó correctamente.
NDIS_STATUS_RESOURCES
Error en la operación debido a recursos insuficientes.
NDIS_STATUS_INVALID_PARAMETER
error de NdisIfRegisterInterface porque algunos de los parámetros de entrada no son válidos.
NDIS_STATUS_DUPLICATE_OBJECTID
error NdisIfRegisterInterface porque ya hay una interfaz registrada con el mismo valor NET_LUID que el parámetro NetLuid especificó.

Observaciones

Los proveedores de interfaz NDIS llaman a la función NdisIfRegisterInterface para registrar una interfaz de red. Una llamada a esta función no implica que la interfaz esté activa.

Cada vez que se reinicia un equipo, NDIS comienza con una lista vacía de interfaces de red registradas. Un proveedor de interfaz llama a la función NdisIfRegisterInterface cada vez que se inicia una interfaz (o se detecta) y la interfaz.
NET_LUID se conoce.

El método para detectar o iniciar una interfaz depende de la aplicación. Por ejemplo, si un controlador intermedio LBFO MUX es un proveedor de interfaz, ese controlador podría registrar una interfaz interna cuando NDIS llama a la función ProtocolBindAdapterEx del controlador para el primer adaptador de miniport subyacente.

Un proveedor de interfaz puede colocar información sobre una interfaz en el almacenamiento persistente y restaurar la interfaz según sea necesario para la aplicación determinada. Por ejemplo, el proveedor puede almacenar información adicional sobre la interfaz con el NET_LUID y puede volver a registrar la interfaz después de reiniciar el equipo.

Si NdisIfRegisterInterface se realiza correctamente, NDIS agrega la interfaz a la lista de interfaces conocidas y asigna un nuevo índice de interfaz para esta interfaz. Los proveedores de interfaz deben registrar interfaces habilitadas y deshabilitadas siempre que sea posible. Todas las interfaces habilitadas deben registrarse.

Es posible que NDIS no devuelva el mismo índice de interfaz cada vez que un proveedor registra una interfaz con el mismo valor de NET_LUID. Por ejemplo, NDIS no asigna necesariamente el mismo índice de interfaz cuando se vuelve a registrar una interfaz después de reiniciar un equipo o cuando se anula el registro y se vuelve a registrar la interfaz. El valor de índice de interfaz cero está reservado y NDIS no lo asigna a ninguna interfaz.

Para indicar que se debe quitar una interfaz de la lista de interfaces conocidas en el equipo, un proveedor de interfaz llama a . función NdisIfDeregisterInterface, por ejemplo, porque se ha desinstalado la interfaz. .

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI Irql_Interfaces_Function(ndis)

Consulte también

NDIS_MAKE_NET_LUID

NET_IF_INFORMATION

NET_LUID

NdisIfDeregisterInterface

NdisIfRegisterProvider

ProtocolBindAdapterEx