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 per IfType assegnato a qualsiasi interfaccia simile a Ethernet. Per un elenco dei 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 completata correttamente.
NDIS_STATUS_RESOURCES
L'operazione non è riuscita a causa di risorse insufficienti.

Osservazioni

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

NdisIfAllocateNetLuidIndex tenta di allocare un indice 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 permanente 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 interfacce 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 permanente. Ad esempio, se si verifica una perdita di alimentazione del computer, il provider deve aver archiviato i valori NET_LUID nell'archiviazione permanente in modo da poter chiamare NdisIfFreeNetLuidIndex successivamente per liberare eventuali indici non più in uso. Inoltre, il provider deve usare lo stesso valore NET_LUID ogni volta che registra la stessa interfaccia con funzione NdisIfRegisterInterface.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Desktop
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL PASSIVE_LEVEL
regole di conformità DDI Irql_Interfaces_Function(ndis)

Vedere anche

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface