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.
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 dieses von NDIS bereitgestellte Handle als undurchsichtige Variable behandeln, die bei nachfolgenden Aufrufen von NdisCl/CoXxx-Funktionen für die neu hinzugefügte Partei übergeben, nicht geändert und nicht interpretiert werden soll.

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)

Weitere Informationen

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty