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) |