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, la latenza, la larghezza di banda e la 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 del contesto residente in cui il client manterrà lo stato per parte per l'entità iniziale nel vc multipoint. Questo parametro è NULL se il vc specificato non rappresenta una connessione multipunto. Per un vc multipunto, NDIS passa di nuovo questo handle alle funzioni ProtocolClXxx del client 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 per la connessione multipunto 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.
Commenti
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 questa richiesta alla funzione ProtocolCmMakeCall del gestore chiamate con cui il client condivide l'oggetto 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 cliente La funzione ProtocolClMakeCallComplete è responsabile dell'accettazione dei parametri di chiamata modificati se si verifica o per l'eliminazione della 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 della configurazione 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 alla chiamata della funzione ProtocolClMakeCallComplete .
Se NdisClMakeCall configura una connessione multipoint, il client stabilisce i parametri di traffico a livello globale per il vc specificato, a meno che il supporto di rete sottostante supporti i parametri di traffico per entità.
La funzione ProtocolClMakeCallComplete del client deve controllare lo stato di input per NDIS_STATUS_SUCCESS prima di usare qualsiasi handle restituito in NdisPartyHandle . Se il gestore chiamate non riesce a configurare una chiamata su una connessione multipunto, il valore di questa variabile fornita dal client non è valido.
Requisiti
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) |