Freigeben über


PROTOCOL_CL_DROP_PARTY_COMPLETE Rückruffunktion (ndis.h)

Die ProtocolClDropPartyComplete-Funktion wird von verbindungsorientierten NDIS-Clients verwendet, die Multipointverbindungen einrichten. Solche Clients müssen über ProtocolClDropPartyComplete-Funktionen verfügen, um die asynchronen Vorgänge abzuschließen, mit denen sie initiieren.

NdisClDropParty. Andernfalls kann die vom Protokolltreiber registrierte ProtocolClDropPartyComplete-Funktion einfach die Steuerung zurückgeben.

Hinweis Sie müssen die Funktion mit dem typ PROTOCOL_CL_DROP_PARTY_COMPLETE deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

PROTOCOL_CL_DROP_PARTY_COMPLETE ProtocolClDropPartyComplete;

void ProtocolClDropPartyComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE ProtocolPartyContext
)
{...}

Parameter

[in] Status

Gibt die endgültige status des vom Client initiierten Drop-Party-Vorgangs an, der eine der folgenden Sein kann:

NDIS_STATUS_SUCCESS

Die Partei wurde verworfen. Die NdisPartyHandle , die diese Partei darstellte, die der Client im Bereich ProtocolPartyContext gespeichert hat, ist jetzt ungültig.

NDIS_STATUS_FAILURE

Die angegebene Partei war die letzte verbleibende auf der Multipoint-VC des Clients. Daher sollte der Client NdisClCloseCall aufrufen, um diese Partei zu löschen.

[in] ProtocolPartyContext

Gibt das Handle für den Gruppenkontextbereich des Clients an, den der Client ursprünglich für NDIS bereitgestellt hat, wenn er NdisClAddParty oder NdisClMakeCall aufgerufen hat.

Rückgabewert

Keine

Bemerkungen

Ein Aufruf von ProtocolClDropPartyComplete gibt an, dass der Anruf-Manager die Verarbeitung der Anforderung abgeschlossen hat, die durch den vorherigen Aufruf von NdisClDropParty des Clients initiiert wurde. ProtocolClDropPartyComplete kann entweder den clientseitig zugewiesenen Kontextbereich freigeben oder ihn für die Wiederverwendung in einem nachfolgenden Aufruf von NdisClAddParty vorbereiten.

Wenn der Client gerade dabei ist, eine erstellte Multipoint-VC zu löschen, kann ProtocolClDropPartyCompleteNdisClDropParty mit einem beliebigen gültigen NdisPartyHandle für eine der verbleibenden Parteien auf der aktiven Multipoint-VC des Clients aufrufen. Wenn nur eine weitere Partei auf der Multipoint-VC verbleibt, sollte der Client diese Partei löschen, indem er seine NdisPartyHandle an NdisClCloseCall übergibt.

Beispiele

Um eine ProtocolClDropPartyComplete-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine ProtocolClDropPartyComplete-Funktion mit dem Namen "MyClDropPartyComplete" zu definieren, verwenden Sie den typ PROTOCOL_CL_DROP_PARTY_COMPLETE , wie in diesem Codebeispiel gezeigt:

PROTOCOL_CL_DROP_PARTY_COMPLETE MyClDropPartyComplete;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyClDropPartyComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolPartyContext
    )
  {...}

Der PROTOCOL_CL_DROP_PARTY_COMPLETE Funktionstyp ist in der Ndis.h-Headerdatei definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations-Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den PROTOCOL_CL_DROP_PARTY_COMPLETE Funktionstyp in der Headerdatei angewendet 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_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

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

Weitere Informationen

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDropPartyComplete

NdisFreeMemory

NdisFreeToNPagedLookasideList

NdisMCmDropPartyComplete

ProtocolCmDropParty