PROTOCOL_CM_INCOMING_CALL_COMPLETE Rückruffunktion (ndis.h)
Die ProtocolCmIncomingCallComplete--Funktion ist erforderlich. Wenn NDIS diese Funktion aufruft, gibt ProtocolCmIncomingCallComplete dem Anrufmanager an, dass der verbindungsorientierte Client die Verarbeitung eines eingehenden Anrufangebots abgeschlossen hat, das der Anrufmanager zuvor über NdisCmDispatchIncomingCall.
Syntax
PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;
void ProtocolCmIncomingCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parameter
[in] Status
Gibt den endgültigen Status des Vorgangs an, um einen eingehenden Anruf an einen verbindungsorientierten Client zu senden.
[in] CallMgrVcContext
Gibt das Handle für einen kontextbezogenen Kontextbereich eines Anrufmanagers an, in dem der Anrufmanager den Status pro VC verwaltet. Der Aufruf-Manager hat dieses Handle von der ProtocolCoCreateVc--Funktion bereitgestellt.
[in] CallParameters
Zeigen Sie auf die Anrufparameter, wie vom Anrufmanager im Aufruf an NdisCmDispatchIncomingCallangegeben. Das Signalprotokoll bestimmt, welche Aufrufparameter ggf. vom Anruf-Manager geändert werden können.
Rückgabewert
Nichts
Bemerkungen
Wenn der verbindungsorientierte Client die Verarbeitung eines eingehenden Verbindungsangebots abgeschlossen hat, das der Anrufmanager an ihn verteilt hat, wird diese Routine aufgerufen, wenn NdisDispatchIncomingCall NDIS_STATUS_PENDING zurückgegeben hat. Der endgültige Status des eingehenden Anrufs wird in Statusgefunden. Mögliche Werte für Status enthalten, sind jedoch nicht beschränkt auf:
Wenn der Client den eingehenden Anruf akzeptiert, sollte der Anrufmanager Signalnachrichten senden, um die Anrufentität anzugeben, dass der Anruf angenommen wurde. Wenn der Client den Anruf nicht akzeptiert, sollte der Anrufmanager Signalnachrichten senden, um anzugeben, dass der Anruf abgelehnt wurde.
beispiele für
Um eine ProtocolCmIncomingCallComplete--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 ProtocolCmIncomingCallComplete--Funktion zu definieren, die den Namen "MyCmIncomingCallComplete" hat, verwenden Sie den PROTOCOL_CM_INCOMING_CALL_COMPLETE Typ, wie in diesem Codebeispiel gezeigt:
PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyCmIncomingCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
Der PROTOCOL_CM_INCOMING_CALL_COMPLETE 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_INCOMING_CALL_COMPLETE 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 ProtocolCmIncomingCallComplete (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCmIncomingCallComplete (NDIS 5.1)) in Windows XP. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | <= DISPATCH_LEVEL |