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 la parte da eliminare nella connessione a più punti. 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 tutti i dati da trasmettere per chiudere la connessione multipoint della parte 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 elemento diverso da NDIS_STATUS_PENDING, il client deve effettuare una chiamata interna alla relativa Funzione ProtocolClDropPartyComplete . In caso contrario, NDIS chiama la funzione ProtocolClDropPartyComplete del client al termine di questa operazione.

Commenti

I client in genere chiamano NdisClDropParty in una delle circostanze seguenti:

  • Dall' Funzione ProtocolClIncomingDropParty per rimuovere la parte specificata da una connessione a più punti.

    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 con NdisClMakeCall.

    Per tale 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.

La chiamata di un client a NdisClDropParty causa la chiamata di NDIS alla funzione ProtocolCmDropParty del gestore chiamate che condivide lo stesso NdisVcHandle nel vc multipoint. Il gestore chiamate è responsabile della notifica al peer del nodo remoto che la connessione di parte è stata o deve essere chiusa, a seconda del client avviato l'operazione di rilascio.

Come linee guida generali, un client deve chiamare NdisClDropParty quante volte ha chiamato NdisClAddParty con un determinato NdisVcHandle ottenuto da NdisClMakeCall prima di chiudere la connessione multipoint con NdisClCloseCall. Poiché le parti remote possono avviare chiudere le connessioni, causando così chiamate al client locale La funzione ProtocolClIncomingDropParty , il client locale deve tenere traccia del numero di parti attive nelle macchine virtuali multipoint per sapere quanti chiamate deve effettuare a NdisClDropParty prima di poter chiamare NdisClCloseCall.

Tuttavia, il client non deve passare NdisClCloseCall lo stesso NdisPartyHandle restituito da NdisClMakeCall quando il client ha originariamente configurato la connessione a più punti. Il client può rilasciare parti nel vc multipoint in qualsiasi ordine, purché rilasci ogni NdisPartyHandle restituito da NdisClAddParty o NdisClMakeCall nelle chiamate a NdisClDropParty, seguito da una chiamata finale con l'handle di ultima parti a NdisClCloseCall per lo stesso VC multipoint. Dopo che il client ha chiuso la chiamata a più punti, 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 parti allocata, il client La funzione ProtocolClDropPartyComplete deve reimpostare la variabile di handle su NULL se reinizializza l'area del contesto per parti per il riutilizzo quando l'entità è stata eliminata.

Requisiti

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 (includere Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_Protocol_Driver_Function(ndis)

Vedi anche

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty