PROTOCOL_CM_DEREGISTER_SAP Rückruffunktion (ndis.h)
Die ProtocolCmDeregisterSap-Funktion ist erforderlich. Diese Funktion wird von NDIS aufgerufen, um anzufordern, dass ein Aufruf-Manager die Registrierung einer SAP im Namen eines verbindungsorientierten Clients auflöst.
Syntax
PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;
NDIS_STATUS ProtocolCmDeregisterSap(
[in] NDIS_HANDLE CallMgrSapContext
)
{...}
Parameter
[in] CallMgrSapContext
Gibt das Handle für einen vom Anruf-Manager zugeordneten Kontextbereich an, in dem der Anruf-Manager seine SAP-Statusinformationen verwaltet. Der Anruf-Manager hat dieses Handle für NDIS von seinem ProtocolCmRegisterSap-Funktion .
Rückgabewert
ProtocolCmDeregisterSap gibt den status seiner Vorgänge als einen der folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass der Aufruf-Manager die SAP-Registrierung erfolgreich entfernt und alle Ressourcen freigegeben hat, die zur Verwaltung von SAP-Informationen pro SAP zugeordnet sind. |
|
Gibt an, dass der Aufruf-Manager die Anforderung zum asynchronen Aufheben der SAP-Registrierung abschließt. Der Anruf-Manager muss anrufen. NdisCmDeregisterSapComplete , um NDIS zu signalisieren, wenn der Vorgang abgeschlossen ist. |
Hinweise
ProtocolCmDeregisterSap kommuniziert bei Bedarf mit Netzwerksteuerungsgeräten oder anderen medienspezifischen Agents, um die Registrierung von SAP im Netzwerk aufzuheben. Solche Aktionen können Folgendes umfassen, sind aber nicht beschränkt auf:
- Kommunikation mit einer Switchhardware
- Kommunikation mit einer Netzwerkleitstelle
- Kommunikation mit anderen medienspezifischen Netzwerk-Agents
Darüber hinaus muss ProtocolCmDeregisterSap alle dynamisch zugeordneten Ressourcen in seinem PRO-SAP-Bereich freigeben( bereitgestellt unter CallMgrSapContext) sowie den Zustandsbereich selbst freigeben, bevor die Steuerung an NDIS zurückgegeben wird.
Beispiele
Um eine ProtocolCmDeregisterSap-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der funktion identifiziert, die Sie definieren. 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 ProtocolCmDeregisterSap-Funktion mit dem Namen "MyCmDeregisterSap" zu definieren, verwenden Sie den typ PROTOCOL_CM_DEREGISTER_SAP , wie in diesem Codebeispiel gezeigt:
PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
NDIS_STATUS
MyCmDeregisterSap(
NDIS_HANDLE CallMgrSapContext
)
{...}
Der PROTOCOL_CM_DEREGISTER_SAP Funktionstyp ist in der Headerdatei Ndis.h 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_CM_DEREGISTER_SAP 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 ProtocolCmDeregisterSap (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCmDeregisterSap (NDIS 5.1)) in Windows XP. |
Zielplattform | Windows |
Kopfzeile | ndis.h (include Ndis.h) |
IRQL | <= DISPATCH_LEVEL |