NdisClMakeCall-Funktion (ndis.h)
NdisClMakeCall richtet einen ausgehenden Anruf auf einer vom Client erstellten VC ein.
Syntax
NDIS_STATUS NdisClMakeCall(
[in] NDIS_HANDLE NdisVcHandle,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[in, optional] NDIS_HANDLE ProtocolPartyContext,
[out, optional] PNDIS_HANDLE NdisPartyHandle
);
Parameter
[in] NdisVcHandle
Gibt das Handle an, das von einem vorherigen Aufruf von NdisCoCreateVc zurückgegeben wird.
[in, out] CallParameters
Zeiger auf eine Struktur vom Typ CO_CALL_PARAMETERS in der der Aufrufer die Attribute für diese Verbindung angegeben hat, z. B. die Adresse des Ziels für den Anruf, Latenz, Bandbreite und Dienstqualität, wenn das vom Anruf-Manager unterstützte Netzwerkmedium und die Adressfamilie QoS-Spezifikationen zulässt.
[in, optional] ProtocolPartyContext
Gibt optional ein vom Aufrufer bereitgestelltes Handle für einen residenten Kontextbereich an, in dem der Client den Status pro Partei für die anfängliche Partei auf seiner Mehrpunkt-VC verwaltet. Dieser Parameter ist NULL , wenn die angegebene VC keine Mehrpunktverbindung darstellt. Bei einer Multipoint-VC übergibt NDIS dieses Handle an dieXxx-Funktionen des Clients in allen nachfolgenden Aufrufen, die sich auf diese bestimmte Partei auswirken.
[out, optional] NdisPartyHandle
Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der Regel im Kontextbereich der vom Aufrufer zugewiesenen Partei, in dem NDIS ein Handle zurückgibt, das die anfängliche Seite der Mehrpunktverbindung darstellt, wenn die Anforderung zum Einrichten eines ausgehenden Anrufs erfolgreich ist. Wenn ProtocolPartyContextNULL ist, wird diese Variable, normalerweise im VC-Kontextbereich des Clients, nach Abschluss des Setups für ausgehende Aufrufe ebenfalls auf NULL festgelegt.
Rückgabewert
Wenn NdisClMakeCall etwas anderes als NDIS_STATUS_PENDING zurückgibt, sollte der Client einen internen Aufruf an seine ProtocolClMakeCallComplete-Funktion . Andernfalls ruft NDIS die ProtocolClMakeCallComplete-Funktion des Clients auf, wenn dieser Vorgang abgeschlossen ist.
Hinweise
NdisClMakeCall richtet die Attribute einer vom Client erstellten VC für einen vom Client initiierten ausgehenden Anruf ein. Der Client muss die VC mit NdisCoCreateVc einrichten, bevor er versucht, einen ausgehenden Anruf zu tätigen.
Ein Aufruf von NdisClMakeCall bewirkt, dass NDIS diese Anforderung an die ProtocolCmMakeCall-Funktion des Aufruf-Managers weiterleitt, mit der der Client das angegebene NdisVcHandle teilt. Der CM ist für die Überprüfung der angegebenen Daten unter CallParameters verantwortlich. Es kann diese vom Client bereitgestellten Daten während der Verhandlungen mit relevanten Netzwerkkomponenten ändern und andere Datenverkehrsparameter zurückgeben, als der Client ursprünglich für NdisClMakeCall angegeben hat. Der Client Die ProtocolClMakeCallComplete-Funktion ist dafür verantwortlich, die geänderten Aufrufparameter zu akzeptieren, wenn dies der Fall ist, oder für das Herunterreißen des Aufrufs, wenn die vom CM vorgeschlagenen Aufrufparameter inakzeptabel sind.
Daher müssen die Daten bei CallParameters mindestens für die Dauer der Anrufeinrichtung für den Anruf-Manager verfügbar bleiben. Der Client kann diesen Puffer nicht freigeben, wenn NdisClMakeCall NDIS_STATUS_PENDING zurückgibt. Die Freigabe dieser vom Client zugewiesenen Ressource muss zurückgestellt werden, bis ihre ProtocolClMakeCallComplete-Funktion aufgerufen wird.
Wenn NdisClMakeCall eine mehrpunktige Verbindung herstellt, richtet der Client die Datenverkehrsparameter global für die angegebene VC ein, es sei denn, das zugrunde liegende Netzwerkmedium unterstützt pro Partei Datenverkehrsparameter.
Die ProtocolClMakeCallComplete-Funktion des Clients sollte den Eingabestatus auf NDIS_STATUS_SUCCESS überprüfen, bevor sie ein zurückgegebenes Handle bei NdisPartyHandle verwendet. Wenn der Anruf-Manager die Anforderung zum Einrichten eines Aufrufs für eine Mehrpunktverbindung nicht angibt, ist der Wert dieser vom Client bereitgestellten Variablen ungültig.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisClMakeCall (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisClMakeCall (NDIS 5.1)) in Windows XP. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Protocol_Driver_Function(ndis) |