Função NdisCmRegisterAddressFamilyEx (ndis.h)

A função NdisCmRegisterAddressFamilyEx registra uma AF (família de endereços) para comunicação entre drivers coNDIS.

Sintaxe

NDIS_STATUS NdisCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        NdisBindingHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

Parâmetros

[in] NdisBindingHandle

Um identificador que o NDIS forneceu no parâmetro NdisBindingHandle da função NdisOpenAdapterEx . Esse identificador identifica a associação a ser associada ao AF.

[in] AddressFamily

Um ponteiro para uma estrutura de CO_ADDRESS_FAMILY que identifica o gerenciador de chamadas e o AF que ele dá suporte para a associação especificada por NdisBindingHandle .

O ponteiro para AddressFamily torna-se um parâmetro de entrada para o As funções ProtocolCoAfRegisterNotify de todos os clientes associados ao mesmo adaptador de miniporto CoNDIS.

Retornar valor

NdisCmRegisterAddressFamilyEx pode retornar qualquer um dos seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O driver de protocolo registrou o AF para o qual AddressFamily aponta, portanto, o NDIS chamará o As funções ProtocolCoAfRegisterNotify de todos os clientes que se associam ao mesmo adaptador de miniporta.
NDIS_STATUS_RESOURCES
A operação solicitada falhou porque o NDIS não pôde alocar memória suficiente ou inicializar o estado que ele usa para rastrear o gerenciador de chamadas ou o AF especificado.
NDIS_STATUS_FAILURE
Falha no NDIS na chamada para NdisCmRegisterAddressFamilyEx, possivelmente por um dos seguintes motivos:
  • O chamador não foi registrado como um driver de protocolo orientado a conexão.
  • O driver de miniporta ao qual o chamador está associado não foi registrado como um driver de miniporto orientado para conexão.
  • Outro gerenciador de chamadas já registrou o AF especificado.
  • A associação do chamador está sendo fechada.

Comentários

Gerenciadores de chamadas autônomos do NDIS, que se registram como drivers de protocolo NDIS chamando o A função NdisRegisterProtocolDriver deve chamar a função NdisCmRegisterAddressFamilyEx para registrar um AF. Os MCMs (gerenciadores de chamadas de miniport) devem, em vez disso, chamar o Função NdisMCmRegisterAddressFamilyEx .

Para registrar um AF para uma associação, o gerenciador de chamadas autônomo deve chamar NdisCmRegisterAddressFamilyEx do Função ProtocolBindAdapterEx .

A função ProtocolBindAdapterEx de um gerenciador de chamadas autônomo primeiro estabelece a associação ao driver de miniporto subjacente chamando a função NdisOpenAdapterEx . Cada vez que o NDIS chama ProtocolBindAdapterEx com outro identificador no parâmetro BindContext , ProtocolBindAdapterEx estabelece uma associação e registra um AF compatível. Em outras palavras, um gerenciador de chamadas autônomo eventualmente registra um AF para cada associação na qual fornece serviços de gerenciamento de chamadas para clientes orientados a conexões.

O gerenciador de chamadas pode dar suporte a mais de um AF e pode dar suporte a mais de um AF para uma única associação. No entanto, apenas um gerenciador de chamadas pode dar suporte a um determinado AF para clientes associados a um determinado adaptador de miniporta.

Quando a função ProtocolBindAdapterEx de um gerenciador de chamadas retorna o controle após uma operação de associação bem-sucedida, o NDIS chama o As funções ProtocolCoAfRegisterNotify de todos os clientes associados ao mesmo adaptador de miniporto.

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_CallManager_Function(ndis)

Confira também

CO_ADDRESS_FAMILY

NdisMCmRegisterAddressFamilyEx

NdisOpenAdapterEx

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCoAfRegisterNotify