Funzione NdisClDropParty (ndis.h)
NdisClDropParty elimina una parte dal vc multipoint del client.
Sintassi
NDIS_STATUS NdisClDropParty(
[in] NDIS_HANDLE NdisPartyHandle,
[in, optional] PVOID Buffer,
[in, optional] UINT Size
);
Parametri
[in] NdisPartyHandle
Specifica l'handle che identifica l'entità da eliminare nella connessione multipoint. Il client ha ottenuto questo handle da una chiamata precedente a NdisClAddParty o NdisClMakeCall.
[in, optional] Buffer
Puntatore a un buffer allocato dal chiamante contenente i dati da trasmettere per chiudere la connessione multipoint dell'entità nel nodo remoto. A seconda del supporto sottostante, questo puntatore può essere NULL.
[in, optional] Size
Specifica le dimensioni in byte in Buffer, zero se Buffer è NULL.
Valore restituito
Quando NdisClDropParty restituisce qualsiasi valore diverso da NDIS_STATUS_PENDING, il client deve effettuare una chiamata interna al relativo funzione ProtocolClDropPartyComplete. In caso contrario, NDIS chiama la funzione ProtocolClDropPartyComplete del client al termine dell'operazione.
Osservazioni
I client chiamano in genere NdisClDropParty in una delle circostanze seguenti:
-
Dall'oggetto
ProtocolClIncomingDropParty funzione per rimuovere la parte specificata da una connessione multipunto.
Ciò si verifica quando un'entità in un nodo remoto chiude la connessione con NdisClCloseCall. Quando NDIS chiama la funzione ProtocolClDropPartyComplete del client locale, può rilasciare o riutilizzare l'area di contesto in ProtocolPartyContext in cui il client mantiene lo stato di questa parte.
-
Prima che il client chiami NdisClCloseCall con l'ultima parte in una connessione multipoint configurata originariamente dal client con NdisClMakeCall.
Per una chiusura avviata dal client della propria chiamata multipoint, il client deve chiamare NdisClDropParty una o più volte per eliminare ogni altra parte rimanente nel vc multipoint.
Come linea guida generale, un client deve chiamare NdisClDropParty quante volte ha chiamato NdisClAddParty con un particolare NdisVcHandle ottenuto da NdisClMakeCall prima di chiudere la connessione multipunto con NdisClCloseCall. Poiché le parti remote possono avviare le chiusura delle connessioni, causando così chiamate al client locale funzione ProtocolClIncomingDropParty, il client locale deve tenere traccia del numero di parti attive nei relativi VC multipoint per sapere quante chiamate deve effettuare per NdisClDropParty prima di poter chiamare NdisClCloseCall.
Tuttavia, non è necessario che il client passi NdisClCloseCall lo stesso NdisPartyHandle restituito da NdisClMakeCall quando il client ha originariamente configurato la connessione multipoint. Il client può rilasciare parti sul proprio vc multipoint in qualsiasi ordine, purché rilasci ogni NdisPartyHandle restituito da NdisClAddParty o NdisClMakeCall nelle relative chiamate a NdisClDropParty, seguito da una chiamata finale con l'ultimo handle di parte per NdisClCloseCall per lo stesso vco multipunto. Dopo che il client ha chiuso la chiamata multipoint, può rilasciare il vc creato originariamente con NdisCoDeleteVc.
Il chiamante di NdisClDropParty deve considerare l'input NdisPartyHandle non valido non appena effettua questa chiamata. Se ha archiviato questo handle nell'area del contesto di entità allocata, il client ProtocolClDropPartyComplete funzione deve reimpostare la variabile handle su NULL se reinizializza l'area del contesto per ogni entità per il riutilizzo quando l'entità è stata eliminata.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisClDropParty (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisClDropParty (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) |