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 a NIC (placa de interface de rede) de destino ou o adaptador virtual do driver inferior ao qual o chamador está associado.
[in] AddressFamily
Um ponteiro para uma estrutura de CO_ADDRESS_FAMILY que descreve o gerenciador de chamadas e o AF a serem abertos.
Esse ponteiro é um parâmetro de entrada para o 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 esse AF após a abertura do AF. O NDIS passa esse identificador de volta para o cliente em todas as chamadas subsequentes referentes 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.
Valor de retorno
Quando NdisClOpenAddressFamilyEx retorna qualquer coisa 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.
Observações
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 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 em 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ção e não interpretado nas chamadas de função Ndis Xxx subsequentes.
O NDIS passa o ponteiro do parâmetro ClientAfContext para as funções de 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 |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da 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_Protocol_Driver_Function(ndis) |