NdisClAddParty-Funktion (ndis.h)
NdisClAddParty fügt eine Partei auf der 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 das VC-Handle, das von NdisCoCreateVc zurückgegeben wird.
[in] ProtocolPartyContext
Gibt das Handle für einen vom Anrufer zugewiesenen residenten Kontextbereich an, in dem der Client den status pro Seite behält, wenn sein Aufruf erfolgreich ist.
[in, out] CallParameters
Zeiger auf eine Struktur vom Typ CO_CALL_PARAMETERS , in der der Aufrufer die Adressierungsinformationen für die Partei angegeben hat, die ihrer Mehrpunkt-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 als NDIS_STATUS_PENDING zurückgibt, sollte der Client einen internen Aufruf an seine ProtocolClAddPartyComplete-Funktion . Andernfalls ruft NDIS die ProtocolClAddPartyComplete-Funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.
Hinweise
Bevor er NdisClAddParty aufruft, muss ein Client eine Mehrpunktverbindung auf seiner VC mit NdisClMakeCall einrichten und seinen Kontextbereich zuweisen und initialisieren, damit die Partei hinzugefügt werden soll. Clients übergeben in der Regel einen Zeiger auf einen Kontextbereich wie protocolPartyContext und einen Zeiger auf eine Variable innerhalb dieses Kontextbereichs als NdisPartyHandle-Parameter , wenn sie NdisClAddParty aufrufen.
Ein Aufruf von NdisClAddParty bewirkt, dass NDIS diese Anforderung an die ProtocolCmAddParty-Funktion des Aufruf-Managers weiterleitt, mit dem der Client die angegebene NdisVcHandle gemeinsam verwendet . Der Anruf-Manager gibt entweder sofort einen Fehler status oder häufiger NDIS_STATUS_PENDING zurück, wenn er versucht, diese Anforderung zu erfüllen. Wenn der Versuch auf dem Remoteendpunkt oder vom zugrunde liegenden Miniporttreiber abgelehnt wird, gibt der Anruf-Manager einen endgültigen Fehler status zurück, z. B. NDIS_STATUS_FAILURE, wenn er NdisCmAddPartyComplete oder NdisMCmAddPartyComplete aufruft. Der Client Die ProtocolClAddPartyComplete-Funktion sollte das Eingabestatusargument auf NDIS_STATUS_SUCCESS überprüfen, bevor Sie fortfahren.
Das zugrunde liegende Netzwerkmedium bestimmt, ob ein Client Für einen mehrstufigen VC-Datenverkehr parameter pro Partei angeben kann.
Wenn das zugrunde liegende Netzwerkmedium keine gruppenspezifischen Datenverkehrsparameter auf Mehrpunkt-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 übereinstimmt:
- Lehnen Sie die Anforderung zum Hinzufügen einer neuen Partei ab.
- Setzen Sie die Verkehrsparameter auf diejenigen zurück, die bereits für die Multipoint-VC eingerichtet wurden, wenn die Partei erfolgreich zu dieser VC hinzugefügt wurde.
- Ändern Sie die Datenverkehrsparameter für jede Partei, die bereits auf der VC vorhanden ist, wenn sie die neue Partei erfolgreich hinzufügt.
Im Gegenzug übergibt NDIS das vom Client bereitgestellte ProtocolPartyContext-Handle in nachfolgenden Aufrufen der ProtocolClXxx-Funktionen des Clients, die diese neu hinzugefügte Partei betreffen, einschließlich des Aufrufs von ProtocolClAddPartyComplete.
Ob ein Mehrpunktaufruf Übertragungen in beide Richtungen und/oder parteispezifische Übertragungen mit Den-Parteien-Datenverkehrsparametern zulässt, hängt vom Medium des zugrunde liegenden Miniporttreibers ab, an den der Client gebunden ist. NdisPartyHandle stellt nur die bestimmte Partei dar, die durch einen erfolgreichen Aufruf von NdisClAddParty hinzugefügt wurde, und nicht die Multipoint-VC. Daher kann der Client seinen ProtocolPartyContext-Bereich nur für nachfolgende parteispezifische Anrufverwaltungsanforderungen verwenden. Für Datenübertragungen über Netzwerkmedien, die keine parteispezifischen Übertragungen oder Datenverkehrsparameter unterstützen, muss der Client stattdessen NdisVcHandle verwenden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (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 |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Protocol_Driver_Function(ndis) |