PROTOCOL_CL_INCOMING_CALL função de retorno de chamada (ndis.h)
A função ProtocolClIncomingCall é usada por clientes orientados à conexão que aceitam chamadas de entrada. Esses clientes devem ter funções ProtocolClIncomingCall. Caso contrário, essa função de ProtocolClIncomingCall do driver de protocolo registrado pode simplesmente retornar NDIS_STATUS_NOT_SUPPORTED.
Sintaxe
PROTOCOL_CL_INCOMING_CALL ProtocolClIncomingCall;
NDIS_STATUS ProtocolClIncomingCall(
[in] NDIS_HANDLE ProtocolSapContext,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parâmetros
[in] ProtocolSapContext
Especifica o identificador que o cliente forneceu originalmente quando registrou o SAP, que o gerenciador de chamadas correspondeu a essa oferta de chamada de entrada.
[in] ProtocolVcContext
Especifica o identificador para a área de contexto por VC do cliente, retornada anteriormente ao NDIS por sua função ProtocolCoCreateVc.
[in, out] CallParameters
Ponteiro para um buffer, formatado como uma estrutura de CO_CALL_PARAMETERS, que contém os parâmetros de chamada para essa chamada oferecida.
Valor de retorno
ProtocolClIncomingCall pode retornar um dos seguintes códigos de status:
Código de retorno | Descrição |
---|---|
|
O cliente aceitou a oferta de chamada de entrada. |
|
O cliente está tratando essa solicitação de forma assíncrona e chamará o função NdisClIncomingCallComplete quando a operação de fechamento for concluída. |
|
O cliente rejeitou a oferta de chamada de entrada por algum motivo determinado pelo driver. |
Observações
Uma chamada para ProtocolClIncomingCall indica que o gerenciador de chamadas recebeu uma solicitação pela rede de um par de sinalização para estabelecer uma conexão com esse cliente. Ou seja, a solicitação para configurar essa conexão foi direcionada a um SAP registrado anteriormente com o gerenciador de chamadas por esse cliente.
Dependendo do protocolo de sinalização compatível com o gerenciador de chamadas, ProtocolClIncomingCall podem modificar os parâmetros de tráfego como parte do processo de negociação da aceitação de uma oferta de chamada de entrada e/ou, se o gerenciador de chamadas der suporte a QoS, a qualidade da especificação de serviço em CallParameters . O cliente deve copiar todas as informações necessárias posteriormente dessa estrutura em buffer se aceitar a chamada oferecida.
Supondo que o gerenciador de chamadas localize as modificações do cliente, se houver, aceitável, o NDIS chamará a função ProtocolClIncomingCallConnected do cliente quando for possível que as transferências ocorram no VC ativo que representa a conexão com o cliente no nó remoto que iniciou originalmente a oferta de chamada. Se o cliente retornar parâmetros de chamada modificados que são inaceitáveis, o gerenciador de chamadas poderá derrubar a VC criada para essa oferta, causando assim chamadas para o cliente ProtocolClIncomingCloseCall e, em seguida, funções de ProtocolCoDeleteVc.
exemplos de
Para definir uma função ProtocolClIncomingCall, 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 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 ProtocolClIncomingCall chamada "MyClIncomingCall", use o tipo PROTOCOL_CL_INCOMING_CALL, conforme mostrado neste exemplo de código:
PROTOCOL_CL_INCOMING_CALL MyClIncomingCall;
Em seguida, implemente sua função da seguinte maneira:
_Use_decl_annotations_
NDIS_STATUS
MyClIncomingCall(
NDIS_HANDLE ProtocolSapContext,
NDIS_HANDLE ProtocolVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
O tipo de função PROTOCOL_CL_INCOMING_CALL é 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_INCOMING_CALL 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 |
---|---|
de cliente com suporte mínimo | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte ProtocolClIncomingCall (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte ProtocolClIncomingCall (NDIS 5.1)) no Windows XP. |
da Plataforma de Destino | Windows |
cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | <= DISPATCH_LEVEL |