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 (Autoridade de Números Atribuídos à Internet) para um índice. Por exemplo, IF_TYPE_ETHERNET_CSMACD (6) é o valor para 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 alocado de 24 bits.
Valor de retorno
NdisIfAllocateNetLuidIndex retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com êxito. |
|
A operação falhou devido a recursos insuficientes. |
Observações
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 que aloca no armazenamento persistente. Por exemplo, se houver uma perda de energia do computador, o provedor deve ter armazenado os valores NET_LUID no armazenamento persistente para que ele possa chamar NdisIfFreeNetLuidIndex posteriormente para liberar todos os índices que não estão 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 |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | Irql_Interfaces_Function(ndis) |