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