NdisClDropParty-Funktion (ndis.h)
NdisClDropParty löscht eine Partei aus der Multipoint-VC des Clients.
Syntax
NDIS_STATUS NdisClDropParty(
[in] NDIS_HANDLE NdisPartyHandle,
[in, optional] PVOID Buffer,
[in, optional] UINT Size
);
Parameter
[in] NdisPartyHandle
Gibt den Handle an, der die Partei identifiziert, die für die Mehrpunktverbindung gelöscht werden soll. Der Client hat dieses Handle von einem vorherigen Aufruf von NdisClAddParty oder NdisClMakeCall abgerufen.
[in, optional] Buffer
Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der alle Daten enthält, die übertragen werden sollen, um die Mehrpunktverbindung der Partei auf dem Remoteknoten zu schließen. Je nach zugrunde liegendem Medium kann dieser Zeiger NULL sein.
[in, optional] Size
Gibt die Größe in Bytes bei Puffer an, null, wenn BufferNULL ist.
Rückgabewert
Wenn NdisClDropParty etwas anderes als NDIS_STATUS_PENDING zurückgibt, sollte der Client einen internen Aufruf an seine ProtocolClDropPartyComplete-Funktion . Andernfalls ruft NDIS die ProtocolClDropPartyComplete-Funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.
Hinweise
Clients rufen NdisClDropParty in der Regel unter den folgenden Umständen auf:
-
Wählen Sie in der Liste ProtocolClIncomingDropParty-Funktion , um die angegebene Partei aus einer Mehrpunktverbindung zu entfernen.
Dies tritt auf, wenn eine Partei auf einem Remoteknoten ihre Verbindung mit NdisClCloseCall schließt. Wenn NDIS die ProtocolClDropPartyComplete-Funktion des lokalen Clients aufruft, kann es den Kontextbereich unter ProtocolPartyContext freigeben oder wiederverwenden, in dem der Client den Zustand über diese Partei beibehalten hat.
-
Bevor der Client NdisClCloseCall mit der letzten Partei in einer Mehrpunktverbindung aufruft, die der Client ursprünglich mit NdisClMakeCall eingerichtet hat.
Für eine solche vom Client initiierte Schließung eines eigenen Mehrpunktaufrufs muss der Client NdisClDropParty ein oder mehrere Male aufrufen, um jede andere verbleibende Partei auf der Multipoint-VC zu löschen.
Als allgemeine Richtlinie muss ein Client NdisClDropParty so oft aufrufen, wie er NdisClAddParty mit einem bestimmten NdisVcHandle aus NdisClMakeCall aufgerufen hat, bevor er seine Mehrpunktverbindung mit NdisClCloseCall schließt. Da Remoteparteien Schließungen ihrer Verbindungen initiieren können, wodurch Aufrufe des lokalen Clients verursacht werden ProtocolClIncomingDropParty-Funktion : Der lokale Client muss die Anzahl der aktiven Parteien auf seinen Mehrpunkt-VCs nachverfolgen, um zu wissen, wie viele Aufrufe er an NdisClDropParty vornehmen muss, bevor er NdisClCloseCall aufrufen kann.
Der Client ist jedoch nicht erforderlich, um NdisClCloseCall dasselbe NdisPartyHandle zu übergeben, das von NdisClMakeCall zurückgegeben wurde, wenn der Client ursprünglich seine Mehrpunktverbindung eingerichtet hat. Der Client kann Parteien für seine Multipoint-VC in beliebiger Reihenfolge freigeben, solange er alle vonNdisClAddParty oder NdisClMakeCall zurückgegebenen NdisClAddParty- oder NdisClMakeCall-Aufrufe in seinen Aufrufen von NdisClDropParty freigibt, gefolgt von einem letzten Aufruf mit dem letzten Parteihandle an NdisClCloseCall für dieselbe Multipoint-VC. Nachdem der Client seinen Mehrpunktaufruf geschlossen hat, kann er die VC freigeben, die er ursprünglich mit NdisCoDeleteVc erstellt hat.
Der Aufrufer von NdisClDropParty sollte die Eingabe NdisPartyHandle als ungültig betrachten, sobald er diesen Aufruf ausgibt. Wenn dieses Handle im zugewiesenen Parteienkontextbereich gespeichert wurde, wird der Client Die ProtocolClDropPartyComplete-Funktion sollte die Handle-Variable auf NULL zurücksetzen, wenn sie den kontextspezifischen Bereich für die Wiederverwendung neu initialisiert, wenn die Partei gelöscht wurde.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisClDropParty (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisClDropParty (NDIS 5.1)) in Windows XP. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Protocol_Driver_Function(ndis) |