Compartilhar via


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
NDIS_STATUS_SUCCESS
A operação foi concluída com sucesso.
NDIS_STATUS_RESOURCES
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)

Confira também

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface