Função NdisCmActivateVc (ndis.h)

NdisCmActivateVc passa parâmetros de chamada fornecidos por CM, incluindo parâmetros de mídia, para uma VC específica até o driver de miniporto subjacente.

Sintaxe

NDIS_STATUS NdisCmActivateVc(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in, out] PCO_CALL_PARAMETERS CallParameters
);

Parâmetros

[in] NdisVcHandle

Especifica o identificador que identifica a VC na qual definir parâmetros de chamada. O gerenciador de chamadas obteve esse identificador de NdisCoCreateVc para uma chamada de entrada ou como um parâmetro de entrada para sua função ProtocolCoCreateVc para uma chamada de saída iniciada pelo cliente.

[in, out] CallParameters

Ponteiro para um buffer residente alocado por CM, formatado como uma estrutura do tipo CO_CALL_PARAMETERS, contendo todos os parâmetros específicos de mídia que o driver de miniporto subjacente usa para ativação de VC.

Retornar valor

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

Comentários

O NdisCmActivateVc notifica o driver de miniporto subjacente para configurar parâmetros de chamada e mídia em uma VC recém-criada ou para alterar os de uma VC estabelecida. O NDIS encaminha os parâmetros de chamada especificados e o identificador de VC para a função MiniportCoActivateVc do driver de miniporto subjacente, que configura todos os recursos necessários para acompanhar o estado da VC e torna a si mesma e uma NIC prontas para transferências de dados na VC.

Um CM autônomo sempre chama NdisCmActivateVc depois de estabelecer uma conexão em uma VC, mas antes que todos os dados sejam enviados ou recebidos nessa VC. Durante a conexão, um CM pode chamar NdisCmActivateVc muitas vezes com o mesmo NdisVcHandle que as condições na rede e/ou sempre que o cliente chama NdisClModifyCallQoS. Em cada chamada para NdisCmActivateVc, a função MiniportCoActivateVc do driver de miniporto subjacente deve fazer um dos seguintes procedimentos:

  • Atualize o estado que o driver de miniporto mantém sobre parâmetros de chamada para os novos valores fornecidos pelo gerenciador de chamadas se o driver de miniporto puder continuar a fazer transferências na VC de acordo com os parâmetros de chamada recém-modificados.
  • Falha na chamada se o driver de miniporto não puder continuar a fazer transferências sob as restrições dos parâmetros de chamada determinados.
Quando o driver de miniporto subjacente falha em uma solicitação para definir ou redefinir parâmetros de chamada, o gerenciador de chamadas pode modificar sua especificação original em CallParameters e chamar NdisCmActivateVc novamente. O limite do número de vezes que qualquer gerenciador de chamadas faz repetidas tentativas de ativar uma VC depende da implementação.

Para uma chamada de saída iniciada pelo cliente, um CM autônomo geralmente chama NdisCmActivateVc imediatamente após a troca de pacotes confirmando um contrato negociado com o destino remoto da chamada ou configuração de chamada bem-sucedida na opção, antes de notificar o NDIS (e o cliente) de conclusão de chamada de saída com NdisCmMakeCallComplete. Para uma chamada de entrada, um gerenciador de chamadas geralmente chama NdisCmActivateVc depois de ter chamado NdisCoCreateVc com êxito e antes de chamar NdisCmDispatchIncomingCall.

No processo de configuração de uma chamada de saída e enquanto qualquer VC permanece ativada, o cliente pode solicitar alterações nos parâmetros de chamada para essa VC, por exemplo, chamando NdisClModifyCallQos. Depois de verificar a validade dos parâmetros de chamada fornecidos para qualquer solicitação desse tipo, o gerenciador de chamadas autônomo deve chamar NdisCmActivateVc para passar os parâmetros de chamada modificados para o driver de miniporto subjacente.

Somente os gerenciadores de chamadas autônomos, que se registram no NDIS como drivers de protocolo, podem chamar NdisCmActivateVc. Drivers de miniporto orientados para conexão que fornecem suporte integrado ao gerenciamento de chamadas chamam NdisMCmActivateVc .

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisCmActivateVc (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisCmActivateVc (NDIS 5.1)) no Windows XP.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI Irql_CallManager_Function(ndis)

Confira também

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc