PROTOCOL_CL_INCOMING_DROP_PARTY Rückruffunktion (ndis.h)
Die ProtocolClIncomingDropParty-Funktion wird von verbindungsorientierten NDIS-Clients verwendet, die Mehrpunktverbindungen einrichten. Solche Clients müssen über ProtocolClIncomingDropParty-Funktionen verfügen. Andernfalls kann die registrierte ProtocolClIncomingDropParty-Funktion eines solchen Protokolltreibers einfach die Steuerung zurückgeben.
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 an, aus dem die Partei gelöscht werden soll. In der Regel ist dies NDIS_STATUS_SUCCESS, wenn die Partei auf der Remotenotiz eine Verbindungsschließung initiiert hat, aber es kann sich um eine beliebige CM-bestimmte status sein, wenn der Anrufmanager diesen Drop-Party-Vorgang aufgrund von erkannten Netzwerkproblemen initiiert hat.
[in] ProtocolPartyContext
Gibt das Handle für den clientspezifischen Kontextbereich an, für den die Partei gelöscht werden soll. Der Client hat dieses Handle ursprünglich für NDIS bereitgestellt, als er NdisClAddParty oder NdisClMakeCall aufgerufen hat.
[in] CloseData
Zeiger auf einen Puffer mit einer protokollspezifischen Close-Nachricht, die möglicherweise vom Remoteclient bereitgestellt wird, den der Anruf-Manager über das Netzwerk empfangen hat, oder dieser Parameter kann NULL sein.
Wenn DropStatus NDIS_STATUS_SUCCESS ist, ist dieser Parameter NULL , wenn das zugrunde liegende Netzwerkmedium beim Schließen einer Verbindung keine Datenübertragungen unterstützt. Jeder bestimmte Anruf-Manager 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 Bytes an, null, wenn CloseDataNULL ist.
Rückgabewert
Keine
Bemerkungen
Ein Aufruf von ProtocolClIncomingDropParty gibt an, dass folgendes aufgetreten ist:
- Der Anruf-Manager hat über das Netzwerk eine Anforderung zum Schließen einer eingerichteten Verbindung erhalten, die durch das NdisPartyHandle identifiziert wurde, das der Client in seinem jeweiligen Kontextbereich unter ProtocolPartyContext gespeichert hat.
- Der Anruf-Manager hat erkannt, dass Netzwerkprobleme weitere Datenübertragungen bei der eingerichteten Verbindung verhindern.
ProtocolClIncomingDropParty sollte die NdisPartyHandle , die der Client von NdisClAddParty oder NdisClMakeCall abgerufen hat, als ungültig betrachten. ProtocolClIncomingDropParty kann entweder den kontextspezifischen Bereich des Clients freigeben oder ihn für die Wiederverwendung in einem nachfolgenden Aufruf von NdisClAddParty vorbereiten.
Beispiele
Um eine ProtocolClIncomingDropParty-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. 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 Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.Um beispielsweise eine ProtocolClIncomingDropParty-Funktion mit dem Namen "MyClIncomingDropParty" zu definieren, 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 Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den PROTOCOL_CL_INCOMING_DROP_PARTY 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 ProtocolClIncomingDropParty (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolClIncomingDropParty (NDIS 5.1)) in Windows XP. |
Zielplattform | Windows |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
IRQL | <= DISPATCH_LEVEL |