PROTOCOL_CM_INCOMING_CALL_COMPLETE função de retorno de chamada (ndis.h)
A função ProtocolCmIncomingCallComplete é necessária. Quando o NDIS chama essa função, ProtocolCmIncomingCallComplete indica ao gerenciador de chamadas que o cliente orientado à conexão terminou o processamento de uma oferta de chamada de entrada pela qual o gerenciador de chamadas anteriormente despachou NdisCmDispatchIncomingCall.
Sintaxe
PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;
void ProtocolCmIncomingCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parâmetros
[in] Status
Indica o status final da operação para expedir uma chamada de entrada para um cliente orientado a conexão.
[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 na chamada para NdisCmDispatchIncomingCall. O protocolo de sinalização determina quais parâmetros de chamada, se houver, o gerenciador de chamadas pode mudar.
Retornar valor
Nenhum
Comentários
Quando o cliente orientado à conexão concluir o processamento de uma oferta de conexão de entrada que o gerenciador de chamadas enviou para ele, essa rotina será chamada se NdisCmDispatchIncomingCall retornar NDIS_STATUS_PENDING. O status final da chamada de entrada é encontrado em Status. Os valores possíveis para Status incluem, mas não se limitam a:
Se o cliente aceitar a chamada de entrada, o gerenciador de chamadas deverá enviar mensagens de sinalização para indicar à entidade de chamada que a chamada foi aceita. Se o cliente não aceitar a chamada, o gerenciador de chamadas deverá enviar mensagens de sinalização para indicar que a chamada foi rejeitada.
Exemplos
Para definir uma função ProtocolCmIncomingCallComplete , 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 ProtocolCmIncomingCallComplete chamada "MyCmIncomingCallComplete", use o tipo PROTOCOL_CM_INCOMING_CALL_COMPLETE conforme mostrado neste exemplo de código:
PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;
Em seguida, implemente sua função da seguinte maneira:
_Use_decl_annotations_
VOID
MyCmIncomingCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
O tipo de função PROTOCOL_CM_INCOMING_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_CM_INCOMING_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 ProtocolCmIncomingCallComplete (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolCmIncomingCallComplete (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Windows |
Cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | <= DISPATCH_LEVEL |