Freigeben über


PROTOCOL_CM_ADD_PARTY Rückruffunktion (ndis.h)

Die ProtocolCmAddParty--Funktion ist eine erforderliche Funktion. ProtocolCmAddParty- richtet die medienspezifischen Parameter ein, um einem vorhandenen Multipoint-Aufruf einen Party hinzuzufügen, Zustandsdaten für die neue Partei zu speichern und bewirkt, dass die Partei dem Aufruf hinzugefügt wird.

Hinweis Sie müssen die Funktion mithilfe des typs PROTOCOL_CM_ADD_PARTY deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

PROTOCOL_CM_ADD_PARTY ProtocolCmAddParty;

NDIS_STATUS ProtocolCmAddParty(
  [in]      NDIS_HANDLE CallMgrVcContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters,
  [in]      NDIS_HANDLE NdisPartyHandle,
  [out]     PNDIS_HANDLE CallMgrPartyContext
)
{...}

Parameter

[in] CallMgrVcContext

Gibt das Handle für einen kontextbezogenen Kontextbereich eines Anrufmanagers an, in dem der Anrufmanager den Status pro VC verwaltet. Der Aufruf-Manager hat dieses Handle von der ProtocolCoCreateVc-Funktion an NDIS bereitgestellt.

[in, out] CallParameters

Zeigen Sie auf eine CO_CALL_PARAMETERS-Struktur, die die Parameter enthält, die durch einen verbindungsorientierten Client angegeben werden, für die Partei, die einem vorhandenen Aufruf hinzugefügt wird.

[in] NdisPartyHandle

Gibt ein Handle an, das von NDIS bereitgestellt wird und einen Multipoint-Anbieter eindeutig identifiziert, der einer vorhandenen virtuellen Verbindung hinzugefügt werden soll. Dieses Handle ist für den Anruf-Manager undurchsichtig und für die Verwendung der NDIS-Bibliothek reserviert.

[out] CallMgrPartyContext

Gibt im Gegenzug ein Handle für einen vom Anrufmanager bereitgestellten Kontextbereich an, in dem der Anrufmanager den Status dieser Partei für den Multipoint-Anruf verwaltet.

Rückgabewert

ProtocolCmAddParty- gibt den Status seiner Vorgänge als eine der folgenden Zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Gibt an, dass der Anrufmanager die erforderlichen Ressourcen erfolgreich zugeordnet hat, um den Status der Partei aufrechtzuerhalten und die Partei dem Anruf erfolgreich hinzuzufügen.
NDIS_STATUS_PENDING
Gibt an, dass der Anrufmanager die Anforderung zum asynchronen Hinzufügen einer Partei abgeschlossen. Wenn der Anrufmanager alle Vorgänge zum Hinzufügen des Anbieters abgeschlossen hat, muss er NdisAddPartyComplete- aufrufen, um NDIS zu signalisieren, dass dieser Vorgang abgeschlossen wurde.
NDIS_STATUS_RESOURCES
Gibt an, dass der Anrufmanager seine Ressourcen für das Hinzufügen einer Partei zur Verbindung nicht zuordnen und/oder initialisieren konnte.
NDIS_STATUS_NOT_SUPPORTED
Gibt an, dass der Anrufmanager die Partei nicht zum Multipoint-Aufruf hinzufügen konnte, da der Aufrufer ungültige oder nicht verfügbare Features in den Anrufparametern unter CallParameters angefordert hat oder dass der von diesem Anruf-Manager unterstützte Medientyp keine Multipoint-Anrufe unterstützt.

Bemerkungen

ProtocolCmAddParty alle erforderlichen Zuordnungen dynamischer Ressourcen und Strukturen durchführt, die der Anrufmanager zum Verwalten von Statusinformationen über die Partei benötigt, die durch NdisPartyHandleangegeben wird, um einem Multipoint-Aufruf hinzugefügt zu werden. Solche Ressourcen können enthalten, jedoch nicht beschränkt auf Speicherpuffer, Datenstrukturen, Ereignisse und andere ähnliche Ressourcen. Anrufmanager sollten auch relevante Strukturen pro Partei in dieser Funktion initialisieren.

Im Statusbereich pro Partei, den der Anrufmanager zuweist, muss der Anrufmanager das von NdisPartyHandle angegebene Handle in zukünftigen Anrufen speichern. Nachdem der Anrufmanager den Statusbereich pro Partei zugewiesen und initialisiert hat, sollte die Adresse des Statuspuffers als CallMgrPartyContext Handle festgelegt werden, bevor die Steuerung an NDIS zurückgegeben wird. Leiten Sie dazu das Handle ab, und speichern Sie einen Zeiger auf den Zustandspuffer als Wert des Handles. Zum Beispiel:

*CallMgrPartyContext = SomeBuffer;

Anrufmanager führen bei Bedarf alle erforderlichen Kommunikationen mit ihrer Netzwerkhardware oder anderen medienspezifischen Akteuren durch, um die durch die Anrufparameter bei CallParameters angegebenen Partei zu einem vorhandenen Multipoint-Aufruf hinzuzufügen.

beispiele für

Um eine ProtocolCmAddParty--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine ProtocolCmAddParty--Funktion zu definieren, die den Namen "MyCmAddParty" hat, verwenden Sie den PROTOCOL_CM_ADD_PARTY Typ, wie in diesem Codebeispiel gezeigt:

MINIPORT_ADD_DEVICE MyCmAddParty;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
NDIS_STATUS
 MyCmAddParty(
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters,
    NDIS_HANDLE  NdisPartyHandle,
    PNDIS_HANDLE  CallMgrPartyContext
    )
  {...}

Der PROTOCOL_CM_ADD_PARTY Funktionstyp wird in der Ndis.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp PROTOCOL_CM_ADD_PARTY in der Headerdatei angewendet werden, verwendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe ProtocolCmAddParty (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCmAddParty (NDIS 5.1)) in Windows XP.
Zielplattform- Fenster
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

NdisClAddParty

ProtocolClAddPartyComplete-