Função NdisIfRegisterInterface (ndis.h)
A função NdisIfRegisterInterface registra um adaptador de rede NDIS.
Sintaxe
NDIS_STATUS NdisIfRegisterInterface(
[in] NDIS_HANDLE NdisProviderHandle,
[in] NET_LUID NetLuid,
[in] NDIS_HANDLE ProviderIfContext,
[in] PNET_IF_INFORMATION pIfInfo,
PNET_IFINDEX pfIndex
);
Parâmetros
[in] NdisProviderHandle
Um identificador que identifica o provedor de interface de rede que está registrando a interface. O chamador obteve esse identificador de uma chamada anterior para o Função NdisIfRegisterProvider .
[in] NetLuid
O valor de NET_LUID fornecido pelo chamador associado à interface. O provedor de interface usou a macro NDIS_MAKE_NET_LUID para criar esse valor NET_LUID. O provedor de interface deve recuperar o valor NET_LUID do armazenamento persistente após a reinicialização do computador e fornecer o mesmo valor NET_LUID sempre que registrar uma interface específica.
[in] ProviderIfContext
Um identificador para uma área de contexto alocada pelo chamador associada à interface . O NDIS passa esse identificador para as funções de retorno de chamada registradas pelo chamador com NdisIfRegisterProvider.
[in] pIfInfo
Um ponteiro para uma estrutura de NET_IF_INFORMATION alocada pelo chamador que fornece informações sobre a interface. Essa estrutura contém informações que permanecem constantes enquanto a interface existe.
pfIndex
Um ponteiro para uma variável de índice de interface fornecida pelo chamador. Se o NDIS registrar com êxito uma interface, o NDIS alocará um índice de interface para essa interface e definirá o valor em pIfIndex . O índice de interface é um valor de 24 bits exclusivo no computador local. O NDIS pode não retornar o mesmo índice de interface sempre que um provedor registra uma interface com o mesmo valor de NET_LUID . O valor de índice de interface zero é reservado e o NDIS não o atribui a nenhuma interface. Não confunda o índice de interface com um índice NET_LUID.
Retornar valor
NdisIfRegisterInterface retorna um dos seguintes valores de status:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
A operação falhou devido a recursos insuficientes. |
|
NdisIfRegisterInterface falhou porque alguns dos parâmetros de entrada são inválidos. |
|
NdisIfRegisterInterface falhou porque já há uma interface registrada com o mesmo valor NET_LUID especificado pelo parâmetro NetLuid . |
Comentários
Os provedores de interface NDIS chamam a função NdisIfRegisterInterface para registrar um adaptador de rede. Uma chamada para essa função não implica que a interface esteja ativa.
Sempre que um computador é reiniciado, o NDIS começa com uma lista vazia de interfaces de rede registradas. Um provedor de interface chama a função NdisIfRegisterInterface sempre que uma interface é iniciada (ou detectada) e a da interface
NET_LUID é conhecido.
O método para detectar ou iniciar uma interface depende do aplicativo. Por exemplo, se um driver intermediário do LBFO MUX for um provedor de interface, esse driver poderá registrar uma interface interna quando o NDIS chamar a função ProtocolBindAdapterEx do driver para o primeiro adaptador de miniporte subjacente.
Um provedor de interface pode colocar informações sobre uma interface no armazenamento persistente e restaurar a interface conforme necessário para o aplicativo específico. Por exemplo, o provedor pode armazenar informações adicionais sobre a interface com o NET_LUID e pode registrar novamente a interface após a reinicialização do computador.
Se NdisIfRegisterInterface for bem-sucedido, o NDIS adicionará a interface à lista de interfaces conhecidas e alocará um novo índice de interface para essa interface. Os provedores de interface devem registrar interfaces habilitadas e desabilitadas, sempre que possível. Todas as interfaces habilitadas devem ser registradas.
O NDIS pode não retornar o mesmo índice de interface sempre que um provedor registrar uma interface com o mesmo valor NET_LUID. Por exemplo, o NDIS não atribui necessariamente o mesmo índice de interface quando uma interface é reregisterada depois que um computador é reiniciado ou quando a interface é desregistrado e registrado novamente. O valor de índice de interface zero é reservado e o NDIS não o atribui a nenhuma interface.
Para indicar que uma interface deve ser removida da lista de interfaces conhecidas no computador, um provedor de interface chama o Função NdisIfDeregisterInterface , por exemplo, porque a interface foi desinstalada. .
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 de DDI | Irql_Interfaces_Function(ndis) |