Eliminazione di un party da una chiamata multipoint
Un client orientato alla connessione che funge da radice di una chiamata multipunto deve infine eliminare ogni parte da tale chiamata con NdisClDropParty o NdisClCloseCall.
Un client elimina un'entità da una chiamata nelle situazioni seguenti:
Prima di avviare l'eliminazione di una chiamata multipunto con NdisClCloseCall(vedere Richiesta avviata dal client per chiudere una chiamata), un client deve eliminare tutto ma l'ultima parte con chiamate successive a NdisClDropParty. Il client specifica l'ultima parte da eliminare dalla chiamata con NdisClCloseCall.
In risposta alla richiesta di una parte remota di essere eliminata da una chiamata multipunto (vedere Richiesta in ingresso per eliminare una parte da una chiamata multipoint), un client, dalla relativa funzione ProtocolClIncomingDropParty , chiama NdisClDropParty.
La chiamata di un client a NdisClDropParty fa sì che NDIS chiami la funzione ProtocolCmDropParty del gestore chiamate o del driver MCM che condivide lo stesso NdisVcHandle nel vc multipoint.
Nella figura seguente viene illustrato il client di un gestore chiamate che richiede di eliminare un'entità da una chiamata multipunto.
La figura seguente mostra il client di un driver MCM che richiede di eliminare un'entità da una chiamata multipunto.
ProtocolCmDropParty comunica con i dispositivi di controllo di rete per eliminare un'entità da una chiamata multipunto esistente. NDIS può passare a ProtocolCmDropParty un puntatore a un buffer che contiene dati (forniti al client nella chiamata a NdisClDropParty). ProtocolCmDropParty deve inviare tali dati attraverso la rete prima che la connessione venga eliminata.
ProtocolCmDropParty può essere completato in modo sincrono, o più probabilmente, in modo asincrono con NdisCmDropPartyComplete, nel caso di un gestore chiamate o NdisMCmDropPartyComplete, nel caso di un driver MCM.
La chiamata a Ndis(M)CmDropPartyComplete fa sì che NDIS chiami la funzione ProtocolClDropPartyComplete del client. Se il client sta rimuovendo un vc multipoint creato, ProtocolClDropPartyComplete può chiamare NdisClDropDropParty con qualsiasi NdisPartyHandle valido a una delle parti rimanenti nel vc multipoint attivo del client. Se solo una parte rimane nel relativo vc multipoint, il client deve eliminare tale entità passando la relativa NdisPartyHandle a NdisClCloseCall(vedere Richiesta avviata dal client per chiudere una chiamata).