Função NdisClOpenAddressFamilyEx (ndis.h)

A função NdisClOpenAddressFamilyEx registra uma AF (família de endereços) associada a um gerenciador de chamadas para um cliente orientado a conexões.

Sintaxe

NDIS_STATUS NdisClOpenAddressFamilyEx(
  [in]  NDIS_HANDLE        NdisBindingHandle,
  [in]  PCO_ADDRESS_FAMILY AddressFamily,
  [in]  NDIS_HANDLE        ClientAfContext,
  [out] PNDIS_HANDLE       NdisAfHandle
);

Parâmetros

[in] NdisBindingHandle

O identificador que NdisOpenAdapterEx retorna e que identifica o adaptador de rede de destino cartão (NIC) ou o adaptador virtual do driver inferior ao qual o chamador está associado.

[in] AddressFamily

Um ponteiro para uma estrutura CO_ADDRESS_FAMILY que descreve o gerenciador de chamadas e o AF a serem abertos.

Esse ponteiro é um parâmetro de entrada para o do cliente Função ProtocolCoAfRegisterNotify , que chama NdisClOpenAddressFamilyEx.

[in] ClientAfContext

O identificador para uma área de contexto residente fornecida pelo chamador na qual o cliente mantém o estado para este AF depois que o AF foi aberto. O NDIS passa esse identificador de volta para o cliente em todas as chamadas subsequentes relacionadas a esse AF se a chamada para NdisClOpenAddressFamilyEx for bem-sucedida.

[out] NdisAfHandle

Um ponteiro para uma variável fornecida pelo chamador na qual NdisClOpenAddressFamilyEx retorna um identificador que representa a família de endereços recém-aberta.

Retornar valor

Quando NdisClOpenAddressFamilyEx retorna algo diferente de NDIS_STATUS_PENDING, o cliente deve fazer uma chamada interna para sua Função ProtocolClOpenAfCompleteEx . Caso contrário, o NDIS chamará a função ProtocolClOpenAfCompleteEx do cliente quando essa operação for concluída.

Comentários

Um cliente CoNDIS chama NdisClOpenAddressFamilyEx de sua Função ProtocolCoAfRegisterNotify , depois que o cliente verifica o buffer de entrada apontado pelo parâmetro AddressFamily para determinar se o cliente reconhece o gerenciador de chamadas e os endereços registrados. O NDIS encaminha a chamada do cliente de NdisClOpenAddressFamilyEx para a função ProtocolCmOpenAf do gerenciador de chamadas, o que garante que o cliente tenha passado uma estrutura af válida.

Uma chamada bem-sucedida para NdisClOpenAddressFamilyEx configura a comunicação do cliente com um gerenciador de chamadas. Em seguida, o cliente pode se preparar para receber chamadas de entrada chamando a função NdisClRegisterSap . O cliente também pode configurar uma VC (conexão virtual) chamando a função NdisCoCreateVc para que ele possa fazer uma chamada de saída chamando a função NdisClMakeCall .

Se a chamada do cliente para NdisClOpenAddressFamilyEx falhar, o cliente deverá chamar a função NdisUnbindAdapter para solicitar que o NDIS libere sua associação para o adaptador de miniporto subjacente. Caso contrário, o cliente deve salvar o identificador retornado no parâmetro NdisAfHandle . Esse identificador identifica o gerenciador de chamadas para o qual as solicitações subsequentes relativas à família de endereços determinada são direcionadas. O cliente deve tratar esse identificador retornado como uma variável opaca, passando-o sem modificações e não interpretado em chamadas de função NdisXxx subsequentes.

O NDIS passa o ponteiro do parâmetro ClientAfContext para as funções ProtocolClXxx registradas do cliente em todas as chamadas subsequentes que dizem respeito ao AF até que o cliente chame NdisClCloseAddressFamily com o mesmo NdisAfHandle . Depois que o AF for fechado, o cliente poderá liberar ou reutilizar o armazenamento alocado em ClientAfContext .

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

Confira também

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisClCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify