Condividi tramite


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à.
Se l'operazione di aggiunta ha esito positivo, la variabile in NdisPartyHandle è stata impostata da NDIS su un handle valido condiviso tra NDIS, il client e il gestore chiamate. Il client deve considerare questo handle fornito da NDIS come variabile opaca da passare, non modificato e non interpretato, nelle chiamate successive a NdisCl/CoXxx funzioni relative alla nuova parte aggiunta.

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)

Vedere anche

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty