Funzione NdisClAddParty (ndis.h)
NdisClAddParty aggiunge una parte nel vco multipoint del client.
Sintassi
NDIS_STATUS NdisClAddParty(
[in] NDIS_HANDLE NdisVcHandle,
[in] NDIS_HANDLE ProtocolPartyContext,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[out] PNDIS_HANDLE NdisPartyHandle
);
Parametri
[in] NdisVcHandle
Puntatore all'handle VC restituito da NdisCoCreateVc.
[in] ProtocolPartyContext
Specifica l'handle a un'area di contesto residente allocata dal chiamante in cui il client manterrà lo stato per parte se la chiamata ha esito positivo.
[in, out] CallParameters
Puntatore a una struttura di tipo CO_CALL_PARAMETERS in cui il chiamante ha specificato le informazioni di indirizzamento per l'entità da aggiungere nel vc multipoint.
[out] NdisPartyHandle
Puntatore a una variabile da impostare da NDIS se l'operazione di aggiunta ha esito positivo.
Valore restituito
Quando NdisClAddParty restituisce qualsiasi valore diverso da NDIS_STATUS_PENDING, il client deve effettuare una chiamata interna al relativo funzione ProtocolClAddPartyComplete. In caso contrario, NDIS chiama la funzione ProtocolClAddPartyComplete del client al termine dell'operazione.
Osservazioni
Prima di chiamare NdisClAddParty, un client deve configurare una connessione multipunto nel proprio vc con NdisClMakeCall, nonché allocare e inizializzare l'area di contesto per l'aggiunta dell'entità. I client passano in genere un puntatore a un'area di contesto come ProtocolPartyContext e un puntatore a una variabile all'interno di tale area di contesto come parametro NdisPartyHandle quando chiamano NdisClAddParty.
Una chiamata a NdisClAddParty fa sì che NDIS inoltra questa richiesta alla funzione ProtocolCmAddParty del gestore chiamate con cui il client condivide il NdisVcHandle specificato . Il gestore chiamate restituisce immediatamente uno stato di errore o, più comunemente, NDIS_STATUS_PENDING se tenta di soddisfare questa richiesta. Se il tentativo viene rifiutato nell'endpoint remoto o dal driver miniport sottostante, il gestore chiamate restituisce uno stato di errore finale, ad esempio NDIS_STATUS_FAILURE, quando chiama NdisCmAddPartyComplete o NdisMCmAddPartyComplete. Il client la funzione ProtocolClAddPartyComplete deve controllare l'argomento stato di input per NDIS_STATUS_SUCCESS prima di continuare.
Il supporto di rete sottostante determina se un client può specificare parametri di traffico per parti in un vc multipunto.
Se il supporto di rete sottostante non supporta i parametri di traffico per parti in VC multipoint, un gestore chiamate può eseguire una delle operazioni seguenti ogni volta che un client tenta di aggiungere una parte con una specifica in CallParameters che non corrisponde ai parametri di traffico già stabiliti per tale vc:
- Rifiutare la richiesta di aggiungere una nuova entità.
- Reimpostare i parametri di traffico a quelli già stabiliti per il vc multipoint quando aggiunge correttamente la parte in tale vco.
- Modificare i parametri del traffico per ogni parte già presente nel vc quando aggiunge correttamente la nuova entità.
A sua volta, NDIS passa l'handle ProtocolPartyContext fornito dal client nelle chiamate successive al ProtocolCl del clientxxx funzioni che riguardano questa nuova parte aggiunta, inclusa la chiamata a ProtocolClAddPartyComplete.
Il fatto che una chiamata multipunto consenta i trasferimenti in entrambe le direzioni e/o trasferimenti per parti con parametri di traffico per parti dipende dal supporto del driver miniport sottostante a cui è associato il client. L'NdisPartyHandle rappresenta solo la parte specifica aggiunta da una chiamata riuscita a NdisClAddPartyanziché al vc multipoint. Di conseguenza, il client può usare il relativo ProtocolPartyContext area solo per le successive richieste di gestione delle chiamate specifiche dell'entità. Per i trasferimenti di dati su supporti di rete che non supportano trasferimenti per parti o parametri di traffico, il client deve usare invece il NdisVcHandle.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisClAddParty (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisClAddParty (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) |