Freigeben über


NdisClAddParty-Funktion (ndis.h)

NdisClAddParty fügt eine Party auf dem Multipoint VC des Clients hinzu.

Syntax

NDIS_STATUS NdisClAddParty(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in]      NDIS_HANDLE         ProtocolPartyContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters,
  [out]     PNDIS_HANDLE        NdisPartyHandle
);

Parameter

[in] NdisVcHandle

Zeiger auf den VC-Handle, der von NdisCoCreateVczurückgegeben wird.

[in] ProtocolPartyContext

Gibt das Handle für einen vom Anrufer zugewiesenen residenten Kontextbereich an, in dem der Client den Status pro Partei verwaltet, wenn der Anruf erfolgreich verläuft.

[in, out] CallParameters

Zeiger auf eine Struktur vom Typ CO_CALL_PARAMETERS, in der der Aufrufer die Adressinformationen für die Partei angegeben hat, die dem Multipoint VC hinzugefügt werden soll.

[out] NdisPartyHandle

Zeiger auf eine Variable, die von NDIS festgelegt werden soll, wenn der Add-Party-Vorgang erfolgreich ist.

Rückgabewert

Wenn NdisClAddParty etwas anderes zurückgibt als NDIS_STATUS_PENDING, sollte der Client einen internen Aufruf an seine ProtocolClAddPartyComplete-Funktion. Andernfalls ruft NDIS die ProtocolClAddPartyComplete- funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.

Bemerkungen

Bevor er NdisClAddParty-aufruft, muss ein Client eine Mehrpunktverbindung auf seinem VC mit NdisClMakeCalleinrichten sowie seinen Kontextbereich zuweisen und initialisieren, damit der Teilnehmer hinzugefügt werden kann. Clients übergeben in der Regel einen Zeiger an einen solchen Kontextbereich wie das ProtocolPartyContext- und einen Zeiger auf eine Variable innerhalb dieses Kontextbereichs als NdisPartyHandle Parameter, wenn sie NdisClAddPartyaufrufen.

Ein Aufruf von NdisClAddParty bewirkt, dass NDIS diese Anforderung an die ProtocolCmAddParty Funktion des Anrufmanagers weiterleitt, mit dem der Client die angegebene NdisVcHandle teilt. Der Anrufmanager gibt entweder sofort einen Fehlerstatus zurück oder, häufiger, NDIS_STATUS_PENDING, wenn versucht wird, diese Anforderung zu erfüllen. Wenn der Versuch auf dem Remoteendpunkt oder vom zugrunde liegenden Miniporttreiber abgelehnt wird, gibt der Anrufmanager einen endgültigen Fehlerstatus zurück, z. B. NDIS_STATUS_FAILURE, wenn er NdisCmAddPartyComplete oder NdisMCmAddPartyCompleteaufruft. Der Client ProtocolClAddPartyComplete--Funktion sollte das Eingabeargument Status auf NDIS_STATUS_SUCCESS überprüfen, bevor Sie fortfahren.

Das zugrunde liegende Netzwerkmedium bestimmt, ob ein Client Pro-Party-Datenverkehrsparameter für eine Multipoint-VC angeben kann.

Wenn das zugrunde liegende Netzwerkmedium keine Datenverkehrsparameter pro Partei auf Multipoint-VCs unterstützt, kann ein Anruf-Manager eine der folgenden Aktionen ausführen, wenn ein Client versucht, eine Partei mit einer Spezifikation unter CallParameters hinzuzufügen, die nicht mit den bereits festgelegten Datenverkehrsparametern für diese VC übereinstimmen:

  • Ablehnen der Anforderung zum Hinzufügen einer neuen Partei.
  • Setzen Sie die Datenverkehrsparameter auf diejenigen zurück, die bereits für den Multipoint VC eingerichtet wurden, wenn sie die Partei erfolgreich zu diesem VC hinzufügt.
  • Ändern Sie die Datenverkehrsparameter für jede Partei, die bereits auf dem VC vorhanden ist, wenn sie die neue Partei erfolgreich hinzufügt.
Wenn der Add-Party-Vorgang erfolgreich ist, wurde die Variable bei NdisPartyHandle von NDIS auf ein gültiges Handle festgelegt, das von NDIS, dem Client und dem Anruf-Manager gemeinsam genutzt wird. Der Client muss diesen von NDIS bereitgestellten Handle als undurchsichtige Variable behandeln, die in nachfolgenden Aufrufen von NdisCl/CoXxx Funktionen für den neu hinzugefügten Anbieter übergeben, unmodifiziert und uninterpretiert werden soll.

NDIS übergibt wiederum die vom Client bereitgestellte ProtocolPartyContext- in nachfolgenden Aufrufen der ProtocolCl-Xxx--Funktionen des Clients, die diese neu hinzugefügte Partei betreffen, einschließlich des Aufrufs von ProtocolClAddPartyComplete.

Ob ein Multipoint-Anruf Übertragungen in Richtungen und/oder Übertragungen pro Partei mit Verkehrsparametern pro Partei zulässt, hängt vom Medium des zugrunde liegenden Miniporttreibers ab, an den der Client gebunden ist. Die NdisPartyHandle- stellt nur die bestimmte Partei dar, die von einem erfolgreichen Aufruf von NdisClAddPartyanstelle des Multipoint VC hinzugefügt wurde. Folglich kann der Client seine ProtocolPartyContext Bereich nur für nachfolgende parteispezifische Anrufverwaltungsanforderungen verwenden. Bei Datenübertragungen über Netzwerkmedien, die übertragungen oder Datenverkehrsparameter pro Partei nicht unterstützen, muss der Client stattdessen die NdisVcHandle- verwenden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisClAddParty (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisClAddParty (NDIS 5.1)) in Windows XP.
Zielplattform- Desktop
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_Protocol_Driver_Function(ndis)

Siehe auch

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete-

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete-

ProtocolCmAddParty-