PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE função de retorno de chamada (ndis.h)
A função ProtocolClModifyCallQoSComplete é usada por clientes NDIS orientados à conexão que podem modificar a qualidade do serviço em uma conexão dinamicamente. Esses clientes devem ter funções ProtocolClModifyCallQoSComplete para concluir as operações assíncronas iniciadas com NdisClModifyCallQoS. Caso contrário, a função ProtocolClModifyCallQoSComplete do driver de protocolo pode simplesmente retornar o controle.
Sintaxe
PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE ProtocolClModifyCallQosComplete;
void ProtocolClModifyCallQosComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parâmetros
[in] Status
Especifica o status final da solicitação assíncrona do cliente para modificar os parâmetros de chamada para esta VC como um dos seguintes:
NDIS_STATUS_SUCCESS
O QoS foi modificado conforme solicitado pelo cliente.
NDIS_STATUS_RESOURCES
O NDIS ou o gerenciador de chamadas não pôde modificar o QoS porque um deles não podia alocar recursos suficientes dinamicamente.
NDIS_STATUS_INVALID_DATA
Os parâmetros de chamada que o cliente forneceu a NdisClModifyCallQoS eram inválidos.
NDIS_STATUS_FAILURE
O gerenciador de chamadas não pôde alterar o QoS devido a uma falha na rede ou em outro componente de rede orientado à conexão.
NDIS_STATUS_XXX
O gerenciador de chamadas não alterou o QoS e o NDIS propagava a falha determinada por CM status para o cliente.
[in] ProtocolVcContext
Especifica o identificador para a área de contexto por VC do cliente, que o cliente originalmente forneceu ao NDIS quando chamou NdisCoCreateVc para configurar a VC para sua solicitação de chamada de saída ou de sua função ProtocolCoCreateVc se o cliente aceitasse uma chamada de entrada nesta VC.
[in] CallParameters
Ponteiro para uma estrutura de CO_CALL_PARAMETERS em buffer que contém a alteração de QoS especificada pelo cliente solicitada ou, possivelmente, o QoS original para essa VC estabelecido quando a conexão foi ativada, que o gerenciador de chamadas restaurou.
Retornar valor
Nenhum
Comentários
Uma chamada para ProtocolClModifyCallQoSComplete indica que o gerenciador de chamadas concluiu o processamento de uma solicitação iniciada pelo cliente para alterar a qualidade do serviço em uma VC ativa. Por exemplo, se o meio de rede subjacente der suporte a alterações dinâmicas de QoS, um cliente poderá solicitar modificações a qualquer momento em uma VC ativa.
Se a chamada do cliente para NdisClModifyCallQoS for bem-sucedida, ProtocolClModifyCallQoSComplete poderá aceitar a alteração de QoS simplesmente retornando o controle. Caso contrário, ProtocolClModifyCallQoSComplete poderá se envolver em mais negociações com o gerenciador de chamadas, desde que o desenvolvedor do cliente coloque algum limite razoável no número de possíveis renegociações. Como alternativa, ProtocolClModifyCallQoSComplete pode simplesmente derrubar a chamada com NdisClCloseCall sempre que o gerenciador de chamadas rejeitar uma solicitação para alterar o QoS e o QoS estabelecido anteriormente se tornou inaceitável para o cliente.
Exemplos
Para definir uma função ProtocolClModifyCallQoSComplete , 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 ProtocolClModifyCallQoSComplete chamada "MyClModifyCallQoSComplete", use o tipo PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE conforme mostrado neste exemplo de código:
PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE MyClModifyCallQoSComplete;
Em seguida, implemente sua função da seguinte maneira:
_Use_decl_annotations_
VOID
MyClModifyCallQoSComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
O tipo de função PROTOCOL_CL_MODIFY_CALL_QOS_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_MODIFY_CALL_QOS_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 ProtocolClModifyCallQoSComplete (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolClModifyCallQoSComplete (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Windows |
Cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | <= DISPATCH_LEVEL |