Compartilhar via


PROTOCOL_CM_ACTIVATE_VC_COMPLETE função de retorno de chamada (ndis.h)

A função ProtocolCmActivateVcComplete é necessária. Essa função indica ao gerenciador de chamadas que uma chamada anterior para NdisCoActivateVc foi concluída pelo driver de miniport.

Nota Você deve declarar a função usando o tipo PROTOCOL_CM_ACTIVATE_VC_COMPLETE . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

PROTOCOL_CM_ACTIVATE_VC_COMPLETE ProtocolCmActivateVcComplete;

void ProtocolCmActivateVcComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Parâmetros

[in] Status

Especifica o status final, conforme indicado pelo driver de miniporto, da solicitação do gerenciador de chamadas para ativar uma VC.

[in] CallMgrVcContext

Especifica o identificador para uma área de contexto alocada pelo gerenciador de chamadas na qual o gerenciador de chamadas mantém seu estado por VC. O gerenciador de chamadas forneceu esse identificador de sua função ProtocolCoCreateVc .

[in] CallParameters

Ponteiro para os parâmetros de chamada conforme especificado pelo gerenciador de chamadas em uma chamada para NdisCmActivateVc.

Retornar valor

Nenhum

Comentários

Quando outros componentes de rede tiverem concluído suas operações para ativar uma conexão virtual, iniciada quando o gerenciador de chamadas chamado NdisCmActivateVc, o NDIS notificará o gerenciador de chamadas de que a VC foi ativada chamando sua função ProtocolCmActivateVcComplete . O status da ativação é encontrado no Status . Os valores possíveis para Status incluem, mas não se limitam a:

ProtocolCmActivateVcComplete deve marcar o status retornado em Status para garantir que a conexão virtual tenha sido ativada com êxito. O gerenciador de chamadas não deve tentar se comunicar pela conexão virtual se Status não estiver NDIS_STATUS_SUCCESS.

Os gerentes de chamadas devem concluir qualquer processamento exigido por sua mídia de rede para garantir que a conexão virtual esteja pronta para transmissão de dados antes de retornar o controle para o NDIS.

Se o gerenciador de chamadas especificou ROUND_UP_FLOW ou ROUND_DOWN_FLOW no CallParameters –>
MediaParameters->Sinalizadores, os parâmetros de chamada retornados em CallParameters podem ter sido alterados pelo driver de miniporto. Os gerentes de chamadas devem examinar os parâmetros de chamada que foram retornados para garantir a operação adequada. Se os novos parâmetros de chamada forem insatisfatórios, o gerenciador de chamadas deverá chamar NdisCmActivateVc novamente com novos parâmetros de chamada ou desativar a VC com NdisCmDeactivateVc.

Exemplos

Para definir uma função ProtocolCmActivateVcComplete , primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função ProtocolCmActivateVcComplete chamada "MyCmActivateVcComplete", use o tipo PROTOCOL_CM_ACTIVATE_VC_COMPLETE , conforme mostrado neste exemplo de código:

PROTOCOL_CM_ACTIVATE_VC_COMPLETE MyCmActivateVcComplete;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
VOID
 MyCmActivateVcComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

O tipo de função PROTOCOL_CM_ACTIVATE_VC_COMPLETE é definido no arquivo de cabeçalho Ndis.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função PROTOCOL_CM_ACTIVATE_VC_COMPLETE no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte ProtocolCmActivateVcComplete (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolCmActivateVcComplete (NDIS 5.1)) no Windows XP.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL
Regras de conformidade de DDI SpinLockBalanced(ndis), SpinLockDpr(ndis)

Confira também

NdisCmActivateVc

NdisCmDeactivateVc

ProtocolCmMakeCall