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à.
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 alle funzioni NdisCl/CoXxx relative alla nuova parte aggiunta.

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)

Vedi anche

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty