Condividi tramite


Funzione NdisClMakeCall (ndis.h)

NdisClMakeCall configura una chiamata in uscita in un vc creato dal client.

Sintassi

NDIS_STATUS NdisClMakeCall(
  [in]            NDIS_HANDLE         NdisVcHandle,
  [in, out]       PCO_CALL_PARAMETERS CallParameters,
  [in, optional]  NDIS_HANDLE         ProtocolPartyContext,
  [out, optional] PNDIS_HANDLE        NdisPartyHandle
);

Parametri

[in] NdisVcHandle

Specifica l'handle restituito da una chiamata precedente a NdisCoCreateVc.

[in, out] CallParameters

Puntatore a una struttura di tipo CO_CALL_PARAMETERS in cui il chiamante ha specificato gli attributi per questa connessione, ad esempio l'indirizzo della destinazione per la chiamata, latenza, larghezza di banda e qualità del servizio se il supporto di rete e la famiglia di indirizzi supportata dal gestore chiamate consente specifiche QoS.

[in, optional] ProtocolPartyContext

Facoltativamente, specifica un handle fornito dal chiamante in un'area di contesto residente in cui il client manterrà lo stato per parte per la parte iniziale nel relativo vc multipoint. Questo parametro è NULL se il vc specificato non rappresenta una connessione multipunto. Per un vc multipoint, NDIS passa di nuovo questo handle alle funzioni ProtocolCl del clientxxx in tutte le chiamate successive che influiscono su questa particolare parte.

[out, optional] NdisPartyHandle

Puntatore a una variabile fornita dal chiamante, in genere nell'area del contesto di entità allocata dal chiamante, in cui NDIS restituisce un handle che rappresenta la parte iniziale della connessione multipoint se la richiesta di configurare una chiamata in uscita ha esito positivo. Se ProtocolPartyContext è NULL, questa variabile, in genere nell'area di contesto VC del client, viene impostata anche su NULL al completamento dell'installazione delle chiamate in uscita.

Valore restituito

Quando NdisClMakeCall restituisce qualsiasi valore diverso da NDIS_STATUS_PENDING, il client deve effettuare una chiamata interna al relativo funzione ProtocolClMakeCallComplete. In caso contrario, NDIS chiama la funzione ProtocolClMakeCallComplete del client al termine dell'operazione.

Osservazioni

NdisClMakeCall configura gli attributi di un vc creato dal client per una chiamata in uscita avviata dal client. Il client deve configurare vc con NdisCoCreateVc prima di tentare di effettuare una chiamata in uscita.

Una chiamata a NdisClMakeCall fa sì che NDIS inoltra la richiesta alla funzione ProtocolCmMakeCall del gestore chiamate con cui il client condivide il NdisVcHandle specificato. Cm è responsabile della convalida dei dati specificati in CallParameters . Può modificare questi dati forniti dal client durante la negoziazione con i componenti di rete pertinenti e può restituire parametri di traffico diversi rispetto al client originariamente assegnato a NdisClMakeCall. Il client ProtocolClMakeCallComplete funzione è responsabile dell'accettazione dei parametri di chiamata modificati se si verifica o per rimuovere la chiamata se i parametri di chiamata proposti dal cm sono inaccettabili.

Di conseguenza, i dati in CallParameters devono rimanere disponibili per il gestore chiamate almeno per la durata dell'installazione delle chiamate. Il client non può liberare questo buffer quando NdisClMakeCall restituisce NDIS_STATUS_PENDING. Deve rinviare il rilascio di questa risorsa allocata dal client fino a quando non viene chiamata la relativa funzione ProtocolClMakeCallComplete.

Se NdisClMakeCall configura una connessione multipunto, il client stabilisce i parametri di traffico a livello globale per il vc specificato, a meno che il supporto di rete sottostante supporti parametri di traffico per parti.

La funzione di ProtocolClMakeCallComplete del client deve controllare la di input Status per NDIS_STATUS_SUCCESS prima di usare qualsiasi handle restituito in NdisPartyHandle . Se il gestore chiamate non riesce la richiesta di configurare una chiamata su una connessione multipunto, il valore di questa variabile fornita dal client non è valido.

Fabbisogno

Requisito Valore
client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisClMakeCall (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisClMakeCall (NDIS 5.1)) in Windows XP.
piattaforma di destinazione Desktop
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
regole di conformità DDI Irql_Protocol_Driver_Function (ndis)

Vedere anche

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisClCloseCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisCmMakeCallComplete

NdisCoCreateVc

ProtocolClMakeCallComplete

ProtocolCmMakeCall