Função NdisClMakeCall (ndis.h)
NdisClMakeCall configura uma chamada de saída em uma VC criada pelo cliente.
Sintaxe
NDIS_STATUS NdisClMakeCall(
[in] NDIS_HANDLE NdisVcHandle,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[in, optional] NDIS_HANDLE ProtocolPartyContext,
[out, optional] PNDIS_HANDLE NdisPartyHandle
);
Parâmetros
[in] NdisVcHandle
Especifica o identificador retornado por uma chamada anterior para NdisCoCreateVc.
[in, out] CallParameters
Ponteiro para uma estrutura do tipo CO_CALL_PARAMETERS em que o chamador especificou os atributos para essa conexão, como o endereço do destino para a chamada, latência, largura de banda e qualidade de serviço se a família de endereços e mídia de rede com suporte do gerenciador de chamadas permitir especificações de QoS.
[in, optional] ProtocolPartyContext
Opcionalmente, especifica um identificador fornecido pelo chamador para uma área de contexto residente na qual o cliente manterá o estado por parte da parte inicial em sua VC de vários pontos. Esse parâmetro será NULL se a VC fornecida não representar uma conexão de vários pontos. Para uma VC de vários pontos, o NDIS passa esse identificador de volta para as funções ProtocolClXxx do cliente em todas as chamadas subsequentes que afetam essa parte específica.
[out, optional] NdisPartyHandle
Ponteiro para uma variável fornecida pelo chamador, geralmente na área de contexto de parte alocada pelo chamador, na qual o NDIS retorna um identificador que representa a parte inicial para a conexão de vários pontos se a solicitação para configurar uma chamada de saída for bem-sucedida. Se ProtocolPartyContext for NULL, essa variável, geralmente na área de contexto vc do cliente, também será definida como NULL após a conclusão da configuração de chamada de saída.
Retornar valor
Quando NdisClMakeCall retorna algo diferente de NDIS_STATUS_PENDING, o cliente deve fazer uma chamada interna para sua Função ProtocolClMakeCallComplete . Caso contrário, o NDIS chamará a função ProtocolClMakeCallComplete do cliente quando essa operação for concluída.
Comentários
NdisClMakeCall configura os atributos de uma VC criada pelo cliente para uma chamada de saída iniciada pelo cliente. O cliente deve configurar a VC com NdisCoCreateVc antes de tentar fazer uma chamada de saída.
Uma chamada para NdisClMakeCall faz com que o NDIS encaminhe essa solicitação para a função ProtocolCmMakeCall do gerenciador de chamadas com a qual o cliente compartilha o NdisVcHandle fornecido. O CM é responsável por validar os dados determinados em CallParameters . Ele pode modificar esses dados fornecidos pelo cliente durante a negociação com componentes de rede relevantes e pode retornar parâmetros de tráfego diferentes do cliente originalmente fornecido ao NdisClMakeCall. O do clienteA função ProtocolClMakeCallComplete é responsável por aceitar os parâmetros de chamada modificados se isso ocorrer ou para derrubar a chamada se os parâmetros de chamada propostos pelo CM forem inaceitáveis.
Consequentemente, os dados em CallParameters devem permanecer disponíveis para o gerenciador de chamadas pelo menos durante a configuração da chamada. O cliente não pode liberar esse buffer quando NdisClMakeCall retorna NDIS_STATUS_PENDING. Ele deve adiar a liberação desse recurso alocado pelo cliente até que sua função ProtocolClMakeCallComplete seja chamada.
Se NdisClMakeCall configurar uma conexão de vários pontos, o cliente estabelecerá os parâmetros de tráfego globalmente para a VC especificada, a menos que a mídia de rede subjacente dê suporte a parâmetros de tráfego por parte.
A função ProtocolClMakeCallComplete do cliente deve marcar o Status de entrada para NDIS_STATUS_SUCCESS antes de usar qualquer identificador retornado em NdisPartyHandle . Se o gerenciador de chamadas falhar na solicitação para configurar uma chamada em uma conexão de vários pontos, o valor dessa variável fornecida pelo cliente será inválido.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisClMakeCall (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisClMakeCall (NDIS 5.1)) no Windows XP. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | Irql_Protocol_Driver_Function(ndis) |