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.
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) |