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.

Der Aufruf von NdisClDropParty eines Clients bewirkt, dass NDIS die ProtocolCmDropParty-Funktion des Aufruf-Managers aufruft, die dieselbe NdisVcHandle für die Multipoint-VC verwendet. Der Anruf-Manager ist für die Benachrichtigung des Remoteknotenpeers verantwortlich, dass die Verbindung der Partei geschlossen wurde oder geschlossen werden sollte, je nachdem, welcher Client den Drop-Party-Vorgang initiiert hat.

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)

Weitere Informationen

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty