Freigeben über


PROTOCOL_CL_INCOMING_DROP_PARTY Rückruffunktion (ndis.h)

Die ProtocolClIncomingDropParty Funktion wird von verbindungsorientierten NDIS-Clients verwendet, die Multipointverbindungen einrichten. Solche Clients müssen über ProtocolClIncomingDropParty- Funktionen verfügen. Andernfalls kann ein solcher protokolltreiber registrierter ProtocolClIncomingDropParty Funktion einfach die Steuerung zurückgeben.

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

Syntax

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

Parameter

[in] DropStatus

Gibt den Grund für das Ablegen der Partei an. In der Regel ist dies NDIS_STATUS_SUCCESS, wenn die Partei auf der Remotenotiz eine Schließung der Verbindung initiiert hat, es kann jedoch ein CM-bestimmter Status sein, wenn der Anrufmanager diesen Drop-Party-Vorgang aufgrund von Netzwerkproblemen initiiert hat, die er festgestellt hat.

[in] ProtocolPartyContext

Gibt das Handle für den Kontextbereich des Clients pro Partei an, damit die Partei verworfen werden soll. Der Client hat dieses Handle ursprünglich an NDIS übermittelt, wenn er NdisClAddParty- oder NdisClMakeCallaufgerufen hat.

[in] CloseData

Zeiger auf einen Puffer, der eine protokollspezifische Close-Nachricht enthält, möglicherweise eine vom Remoteclient, den der Anrufmanager über das Netzwerk empfangen hat, oder dieser Parameter kann NULL-sein.

Wenn DropStatus- NDIS_STATUS_SUCCESS ist, wird dieser Parameter NULL-, wenn das zugrunde liegende Netzwerkmedium beim Schließen einer Verbindung keine Übertragung von Daten unterstützt. Ein bestimmter Anrufmanager kann jedoch eine Struktur definieren, um zusätzliche Diagnoseinformationen an seine Clients bei Drop-Party-Vorgängen zu übergeben, die durch Probleme im Netzwerk verursacht werden.

[in] Size

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

Rückgabewert

Nichts

Bemerkungen

Ein Aufruf von ProtocolClIncomingDropParty gibt an, dass eine der folgenden Aktionen aufgetreten ist:

  • Der Anrufmanager hat eine Anforderung über das Netzwerk erhalten, um eine hergestellte Verbindung zu schließen, die durch die NdisPartyHandle- identifiziert wird, dass der Client im Kontextbereich pro Partei unter ProtocolPartyContext gespeichert wurde.
  • Der Anrufmanager hat festgestellt, dass Netzwerkprobleme weitere Datenübertragungen an der etablierten Verbindung verhindern.
In beiden Fällen sollte ProtocolClIncomingDropParty- alle protokollbestimmten Vorgänge zum Ablegen der Partei aus dem Multipoint VC des Clients ausführen. ProtocolClIncomingDropParty- müssen NdisClDropParty- aufrufen oder, wenn dies die letzte verbleibende Partei auf dem Multipoint-VC des Clients ist, NdisClCloseCall.

ProtocolClIncomingDropParty- sollte die NdisPartyHandle- berücksichtigen, die der Client von NdisClAddParty oder NdisClMakeCall ungültig hat. ProtocolClIncomingDropParty- kann entweder den Kontextbereich des Clients freigeben oder für die Wiederverwendung in einem nachfolgenden Aufruf von NdisClAddPartyvorbereiten.

beispiele für

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

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

Siehe auch

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty