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 meio de rede e endereço compatível com o 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 seu 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 um VC de vários pontos, o NDIS passa esse identificador de volta para o ProtocolCl do clientexxx funções 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.
Valor de retorno
Quando NdisClMakeCall retorna qualquer coisa 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.
Observações
NdisClMakeCall configura os atributos de uma VC criada pelo cliente para uma chamada de saída iniciada pelo cliente. O cliente deve configurar o 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 NdisVcHandledeterminado. O CM é responsável por validar os dados especificados 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 fornecido originalmente para NdisClMakeCall. Do cliente função ProtocolClMakeCallComplete será responsável por aceitar os parâmetros de chamada modificados se isso ocorrer ou por 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 retornar 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 o VC especificado, a menos que o meio de rede subjacente dê suporte a parâmetros de tráfego por parte de terceiros.
A função ProtocolClMakeCallComplete do cliente deve verificar a de Status de 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 |
---|---|
de cliente com suporte mínimo | 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. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | Irql_Protocol_Driver_Function(ndis) |