Freigeben über


PROTOCOL_CM_DROP_PARTY Rückruffunktion (ndis.h)

Die ProtocolCmDropParty--Funktion ist erforderlich. NDIS ruft ProtocolCmDropParty- auf, um anzufordern, dass der Anrufmanager eine Partei aus einem vorhandenen Multipoint-Aufruf entfernt.

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

Syntax

PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;

NDIS_STATUS ProtocolCmDropParty(
  [in]           NDIS_HANDLE CallMgrPartyContext,
  [in, optional] PVOID CloseData,
  [in, optional] UINT Size
)
{...}

Parameter

[in] CallMgrPartyContext

Gibt den Handle für einen kontextbezogenen Kontextbereich eines Anrufmanagers an, in dem der Anrufmanager seinen Status pro Partei verwaltet. Dieses Handle wurde NDIS in den Anrufmanagern ProtocolCmAddParty-Funktion bereitgestellt.

[in, optional] CloseData

Zeigen Sie auf einen Puffer, der verbindungsorientierte clientspezifische Daten enthält, die über die Verbindung gesendet werden sollen, bevor die Partei abgelegt wird. Dieser Parameter ist NULL-, wenn das zugrunde liegende Netzwerkmedium beim Schließen einer Verbindung keine Übertragung von Daten unterstützt.

[in, optional] Size

Gibt die Länge des Puffers bei CloseData-in Byte an, null, wenn CloseData-NULL-ist.

Rückgabewert

ProtocolCmDropParty den Status seiner Vorgänge als einen der folgenden Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Gibt an, dass der Anrufmanager die Partei erfolgreich verworfen, alle engen Daten gesendet und die Ressourcen freigibt, die für den Kontextbereich zugeordnet wurden.
NDIS_STATUS_PENDING
Gibt an, dass der Anrufmanager die Anforderung zum asynchronen Ablegen der Partei abschließt. Der Anrufmanager muss NdisCmDropPartyComplete- aufrufen, wenn die gesamte Verarbeitung abgeschlossen ist, um NDIS und den anfordernden Akteur zu benachrichtigen, dass die Partei verworfen wurde.
NDIS_STATUS_INVALID_DATA
Gibt an, dass CloseData- für den Anruf-Manager angegeben wurde, der Medientyp unterstützt jedoch nicht das gleichzeitige Senden von Daten mit verbindungsendem Beenden.

Bemerkungen

ProtocolCmDropParty kommuniziert bei Bedarf mit Netzwerksteuerungsgeräten oder anderen medienspezifischen Agents, um eine Partei von einem vorhandenen Multipoint-Aufruf abzulegen. Wenn der Anrufmanager für die Kommunikation mit Netzwerksteuerungs-Agents (z. B. einem Netzwerkswitch) erforderlich ist, sollte er eine virtuelle Verbindung mit den Netzwerksteuerungs-Agents verwenden, die er in seinem Netzwerk eingerichtet hat. ProtocolBindAdapterEx Funktion.

Wenn CloseData- nichtNULL- ist und das Senden von Daten bei verbindungsendem Medientyp unterstützt wird, sollte der Anrufmanager die unter CloseData- angegebenen Daten vor Abschluss der Beendigung übertragen. Wenn das Gleichzeitige Senden von Daten mit verbindungsendem Verbindungsende vom Medientyp nicht unterstützt wird, sollte der Anrufmanager die Steuerung mit NDIS_STATUS_INVALID_DATA zurückgeben.

Anrufmanager müssen auch Ressourcen pro Seite freigeben, die sie zugeordnet und unter CallMgrPartyContext gespeichert haben. Darüber hinaus muss der Anrufmanager den puffer freigeben, der CallMgrPartyContext selbst gespeichert ist. Wenn dies nicht geschieht, führt dies zu einer Speicherleckbedingung.

beispiele für

Um eine ProtocolCmDropParty--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 ProtocolCmDropParty--Funktion zu definieren, die den Namen "MyCmDropParty" hat, verwenden Sie den PROTOCOL_CM_DROP_PARTY Typ, wie in diesem Codebeispiel gezeigt:

PROTOCOL_CM_DROP_PARTY MyCmDropParty;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
NDIS_STATUS
 MyCmDropParty(
    NDIS_HANDLE  CallMgrPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

Der PROTOCOL_CM_DROP_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_DROP_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 ProtocolCmDropParty (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCmDropParty (NDIS 5.1)) in Windows XP.
Zielplattform- Fenster
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL

Siehe auch

NdisCmDropPartyComplete-

ProtocolCmAddParty-