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)

Confira também

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisClCloseCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisCmMakeCallComplete

NdisCoCreateVc

ProtocolClMakeCallComplete

ProtocolCmMakeCall