Condividi tramite


Funzione NdisIfAllocateNetLuidIndex (ndis.h)

La funzione NdisIfAllocateNetLuidIndex alloca un indice NET_LUID per un provider di interfaccia di rete NDIS.

Sintassi

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

Parametri

ifType

Tipo di interfaccia IANA (Internet Assigned Numbers Authority) per un indice. Ad esempio, IF_TYPE_ETHERNET_CSMACD (6) è il valore di IfType assegnato a qualsiasi interfaccia ethernet. Per un elenco di tipi di interfaccia, vedere Tipi di interfaccia NDIS.

[out] pNetLuidIndex

Puntatore a una variabile di indice fornita dal chiamante NET_LUID . Se l'allocazione ha esito positivo, NdisIfAllocateNetLuidIndex imposta questa variabile sul valore di indice NET_LUID a 24 bit allocato.

Valore restituito

NdisIfAllocateNetLuidIndex restituisce uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Operazione riuscita.
NDIS_STATUS_RESOURCES
L'operazione non è riuscita a causa di risorse insufficienti.

Commenti

I provider di interfacce NDIS chiamano la funzione NdisIfAllocateNetLuidIndex per allocare un indice NET_LUID . Un provider di interfacce deve allocare un indice NET_LUID prima che il provider di interfacce possa registrare un'interfaccia.

NdisIfAllocateNetLuidIndex tenta di allocare un indice di NET_LUID a 24 bit univoco per il computer locale ed è associato al tipo di interfaccia specificato dal parametro IfType . NDIS registra l'indice NET_LUID nell'archiviazione persistente in modo che l'indice possa rimanere associato alla stessa interfaccia anche dopo il riavvio del computer. NDIS non allocherà lo stesso indice NET_LUID ai chiamanti futuri di NdisIfAllocateNetLuidIndex fino a quando il provider di interfaccia chiama la funzione NdisIfFreeNetLuidIndex per liberare l'indice.

Per compilare un valore NET_LUID dall'indice NET_LUID e dal tipo di interfaccia, un provider di interfaccia chiama la macro NDIS_MAKE_NET_LUID .

Il provider di interfaccia deve archiviare i valori NET_LUID allocati nell'archiviazione persistente. Ad esempio, se si verifica una perdita di alimentazione del computer, il provider deve aver archiviato i valori NET_LUID nell'archiviazione persistente in modo che possa chiamare NdisIfFreeNetLuidIndex in seguito per liberare gli indici che non sono più in uso. Inoltre, il provider deve usare lo stesso valore NET_LUID ogni volta che registra la stessa interfaccia con Funzione NdisIfRegisterInterface .

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI Irql_Interfaces_Function(ndis)

Vedi anche

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface