Função NdisIfAllocateNetLuidIndex (ndis.h)
A função NdisIfAllocateNetLuidIndex aloca um índice NET_LUID para um provedor de interface de rede NDIS.
Sintaxe
NDIS_STATUS NdisIfAllocateNetLuidIndex(
NET_IFTYPE ifType,
[out] PUINT32 pNetLuidIndex
);
Parâmetros
ifType
O tipo de interface IANA (Internet Assigned Numbers Authority) para um índice. Por exemplo, IF_TYPE_ETHERNET_CSMACD (6) é o valor de IfType atribuído a qualquer interface semelhante à Ethernet. Para obter uma lista de tipos de interface, consulte Tipos de interface NDIS.
[out] pNetLuidIndex
Um ponteiro para uma variável de índice NET_LUID fornecida pelo chamador. Se a alocação for bem-sucedida, NdisIfAllocateNetLuidIndex definirá essa variável como o valor de índice NET_LUID de 24 bits alocado.
Retornar valor
NdisIfAllocateNetLuidIndex retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
A operação falhou devido a recursos insuficientes. |
Comentários
Os provedores de interface NDIS chamam a função NdisIfAllocateNetLuidIndex para alocar um índice NET_LUID . Um provedor de interface deve alocar um índice NET_LUID antes que o provedor de interface possa registrar uma interface.
NdisIfAllocateNetLuidIndex tenta alocar um índice de NET_LUID de 24 bits exclusivo para o computador local e está associado ao tipo de interface especificado pelo parâmetro IfType . O NDIS registra o índice NET_LUID no armazenamento persistente para que o índice possa permanecer associado à mesma interface mesmo após a reinicialização do computador. O NDIS não alocará o mesmo índice NET_LUID para futuros chamadores de NdisIfAllocateNetLuidIndex até que o provedor de interface chame a função NdisIfFreeNetLuidIndex para liberar o índice.
Para criar um valor NET_LUID do índice NET_LUID e do tipo de interface, um provedor de interface chama a macro NDIS_MAKE_NET_LUID .
O provedor de interface deve armazenar os valores NET_LUID alocados no armazenamento persistente. Por exemplo, se houver uma perda de energia do computador, o provedor deverá ter armazenado os valores de NET_LUID no armazenamento persistente para que ele possa chamar NdisIfFreeNetLuidIndex posteriormente para liberar quaisquer índices que não estejam mais em uso. Além disso, o provedor deve usar o mesmo valor NET_LUID sempre que registrar a mesma interface com o Função NdisIfRegisterInterface .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Regras de conformidade da DDI | Irql_Interfaces_Function(ndis) |