Compartir a través de


Función NdisIfAllocateNetLuidIndex (ndis.h)

La función NdisIfAllocateNetLuidIndex asigna un índice de NET_LUID para un proveedor de interfaz de red NDIS.

Sintaxis

NDIS_STATUS NdisIfAllocateNetLuidIndex(
        NET_IFTYPE ifType,
  [out] PUINT32    pNetLuidIndex
);

Parámetros

ifType

El tipo de interfaz De autoridad de números asignados a Internet (IANA) para un índice. Por ejemplo, IF_TYPE_ETHERNET_CSMACD (6) es el valor de IfType asignado a cualquier interfaz similar a Ethernet. Para obtener una lista de tipos de interfaz, consulte Tipos de interfaz NDIS.

[out] pNetLuidIndex

Puntero a una variable de índice NET_LUID proporcionada por el autor de la llamada. Si la asignación se realiza correctamente, NdisIfAllocateNetLuidIndex establece esta variable en el valor de índice de NET_LUID de 24 bits asignado.

Valor devuelto

NdisIfAllocateNetLuidIndex devuelve uno de los siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La operación se ha completado correctamente.
NDIS_STATUS_RESOURCES
Error en la operación debido a recursos insuficientes.

Comentarios

Los proveedores de interfaz NDIS llaman a la función NdisIfAllocateNetLuidIndex para asignar un índice NET_LUID . Un proveedor de interfaz debe asignar un índice de NET_LUID para que el proveedor de interfaz pueda registrar una interfaz.

NdisIfAllocateNetLuidIndex intenta asignar un índice de NET_LUID de 24 bits que es único para el equipo local y está asociado al tipo de interfaz que especifica el parámetro IfType . NDIS registra el índice de NET_LUID en el almacenamiento persistente para que el índice pueda permanecer asociado a la misma interfaz incluso después de que se reinicie el equipo. NDIS no asignará el mismo índice NET_LUID a futuros autores de llamadas de NdisIfAllocateNetLuidIndex hasta después de que el proveedor de interfaz llame a la función NdisIfFreeNetLuidIndex para liberar el índice.

Para compilar un valor de NET_LUID a partir del índice NET_LUID y el tipo de interfaz, un proveedor de interfaz llama a la macro NDIS_MAKE_NET_LUID .

El proveedor de interfaz debe almacenar los valores de NET_LUID que asigna en el almacenamiento persistente. Por ejemplo, si hay una pérdida de energía del equipo, el proveedor debe haber almacenado los valores de NET_LUID en el almacenamiento persistente para que pueda llamar a NdisIfFreeNetLuidIndex más adelante para liberar los índices que ya no están en uso. Además, el proveedor debe usar el mismo valor de NET_LUID cada vez que registra la misma interfaz con . Función NdisIfRegisterInterface .

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI Irql_Interfaces_Function(ndis)

Consulte también

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface