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 |
---|---|
|
Operazione completata correttamente. |
|
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.