Função NdisIfRegisterProvider (ndis.h)

A função NdisIfRegisterProvider registra um provedor de interface de rede NDIS.

Sintaxe

NDIS_STATUS NdisIfRegisterProvider(
  [in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in] NDIS_HANDLE                       IfProviderContext,
       PNDIS_HANDLE                      pNdisIfProviderHandle
);

Parâmetros

[in] ProviderCharacteristics

Um ponteiro para um chamador fornecido NDIS_IF_PROVIDER_CHARACTERISTICS estrutura. Essa estrutura define as características do provedor, incluindo os pontos de entrada para suas funções de retorno de chamada do provedor.

[in] IfProviderContext

Um identificador para uma área de contexto fornecida pelo chamador para esse provedor de interface de rede. Defina esse parâmetro como NULL se não houver nenhuma área de contexto.

pNdisIfProviderHandle

Um ponteiro para uma variável de identificador fornecida pelo chamador. Se a operação de registro for bem-sucedida, o NDIS gravará um identificador nessa variável que identifica o provedor de interface de rede. O provedor de interface deve manter esse identificador para uso em chamadas subsequentes que exigem um identificador de provedor de interface.

Retornar valor

NdisIfRegisterProvider retorna um dos seguintes valores de status:

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.
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterProvider não registrou o provedor porque o NDIS_IF_PROVIDER_CHARACTERISTICS estrutura no parâmetro ProviderCharacteristics continha dados de membro inválidos.
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider não registrou o provedor porque o membro Header no NDIS_IF_PROVIDER_CHARACTERISTICS especifica uma versão de estrutura sem suporte.

Comentários

Os drivers NDIS chamam a função NdisIfRegisterProvider uma vez durante a inicialização para se registrar como um provedor de interface NDIS. Por exemplo, o driver pode chamar NdisIfRegisterProvider de sua rotina DriverEntry . Um provedor de interface é um componente de software que gerencia interfaces de rede para dar suporte ao MIB ( RFC 2863).

Para lidar com solicitações OID do provedor de interface, os provedores de interface fornecem pontos de entrada para funções de retorno de chamada no NDIS_IF_PROVIDER_CHARACTERISTICS estrutura no parâmetro ProviderCharacteristics de NdisIfRegisterProvider.

Os provedores de interface NDIS chamam a função NdisIfRegisterInterface para registrar um adaptador de rede. Um provedor pode registrar várias interfaces.

Se NdisIfRegisterProvider for bem-sucedido, ele retornará um identificador no local para o qual o parâmetro pNdisProviderHandle aponta. O provedor de interface deve manter esse identificador para uso em chamadas subsequentes que exigem um identificador de provedor de interface. Por exemplo, um driver deve chamar NdisIfDeregisterProvider antes que o driver seja descarregado.

Um componente que não é mais um provedor de interface pode chamar a função NdisIfDeregisterProvider a qualquer momento para liberar os recursos do provedor de interface alocados pelo NDIS quando o driver chamado NdisIfRegisterProvider.

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)

Confira também

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface