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

A função ProtocolClCloseCallComplete é usada por clientes NDIS orientados à conexão. Todos os clientes NDIS orientados a conexão devem ter funções ProtocolClCloseCallComplete para concluir as operações assíncronas que iniciam com

NdisClCloseCall.

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

Sintaxe

PROTOCOL_CL_CLOSE_CALL_COMPLETE ProtocolClCloseCallComplete;

void ProtocolClCloseCallComplete(
  [in]           NDIS_STATUS Status,
  [in]           NDIS_HANDLE ProtocolVcContext,
  [in, optional] NDIS_HANDLE ProtocolPartyContext
)
{...}

Parâmetros

[in] Status

Especifica o status final da solicitação do cliente para fechar essa chamada, que pode ser uma das seguintes:

NDIS_STATUS_SUCCESS

O gerenciador de chamadas fechou com êxito a chamada que existia na VC fornecida e desativou a VC.

NDIS_STATUS_XXX

O gerenciador de chamadas falhou na solicitação para fechar a chamada por algum motivo determinado por CM e o NDIS propagava a status retornada por sua função ProtocolCmCloseCall para o cliente.

[in] ProtocolVcContext

Especifica o identificador para a área de contexto por VC do cliente Esse é o identificador que o cliente originalmente passou para o NDIS com NdisCoCreateVc ou retornou ao NDIS de sua função ProtocolCoCreateVc .

[in, optional] ProtocolPartyContext

Especifica o identificador para a área de contexto por parte do cliente para a última parte restante na VC criada pelo cliente que representa uma conexão de vários pontos. Caso contrário, esse parâmetro será NULL.

Retornar valor

Nenhum

Comentários

Se a VC fornecida foi criada pelo cliente e o Status é NDIS_STATUS_SUCCESS, o cliente agora pode fazer um dos seguintes procedimentos:

  • Desmarque sua VC com NdisCoDeleteVc e libere ou prepare-se para reutilizar as áreas de contexto alocadas.
  • Reinicialize sua área de contexto por VC e reutilize sua VC para fazer outra conexão com NdisClMakeCall.
Se a VC tiver sido criada pelo gerenciador de chamadas, o cliente deverá considerar o NdisVcHandle inválido quando ProtocolClCloseCallComplete for chamado. O cliente não deve fazer mais chamadas NdisCl/CoXxx com este NdisVcHandle . Depois que ProtocolClCloseCallComplete retornar o controle, o gerenciador de chamadas poderá excluir sua VC, causando assim uma chamada para a função ProtocolCoDeleteVc do cliente. O gerenciador de chamadas pode até mesmo expedir outra chamada de entrada na VC que ele criou, causando assim uma chamada para o cliente Função ProtocolClIncomingCall .

Exemplos

Para definir uma função ProtocolClCloseCallComplete , 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 escrever drivers para o sistema operacional Windows.

Por exemplo, para definir uma função ProtocolClCloseCallComplete chamada "MyClCloseCallComplete", use o tipo PROTOCOL_CL_CLOSE_CALL_COMPLETE conforme mostrado neste exemplo de código:

PROTOCOL_CL_CLOSE_CALL_COMPLETE MyClCloseCallComplete;

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

_Use_decl_annotations_
VOID
 MyClCloseCallComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolVcContext,
    NDIS_HANDLE  ProtocolPartyContext
    )
  {...}

O tipo de função PROTOCOL_CL_CLOSE_CALL_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_CL_CLOSE_CALL_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 ProtocolClCloseCallComplete (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolClCloseCallComplete (NDIS 5.1)) no Windows XP.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL

Confira também

NdisClCloseCall

NdisClMakeCall

NdisCmCloseCallComplete

NdisCoDeleteVc

NdisMCmCloseCallComplete

ProtocolClIncomingCall

ProtocolCmCloseCall

ProtocolCoDeleteVc