Funzione NdisClAddParty (ndis.h)
NdisClAddParty aggiunge una parte nel vc 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 di un'area del 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.
Commenti
Prima di chiamare NdisClAddParty, un client deve configurare una connessione multipoint 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 parametri 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 l'oggetto 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 cliente 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 entità in un vc multipoint.
Se il supporto di rete sottostante non supporta i parametri di traffico per entità in macchine virtuali 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 del traffico su quelli già stabiliti per vc multipoint quando aggiunge correttamente l'entità in tale vc.
- Modificare i parametri di 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 alle funzioni ProtocolClXxx del client che riguardano questa nuova parte aggiunta, inclusa la chiamata a ProtocolClAddPartyComplete.
Se una chiamata multipunto consente trasferimenti in entrambe le direzioni e/o trasferimenti per entità con parametri di traffico per entità dipende dal supporto del driver miniport sottostante a cui è associato il client. NdisPartyHandle rappresenta solo la parte specifica aggiunta da una chiamata riuscita a NdisClAddParty, anziché a VC multipoint. Di conseguenza, il client può usare l'area ProtocolPartyContext 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 entità o parametri di traffico, il client deve usare invece NdisVcHandle .
Requisiti
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) |