NdisCoCreateVc-Funktion (ndis.h)
NdisCoCreateVc einen Verbindungsendpunkt ein, von dem ein Client ausgehende Anrufe tätigen kann oder über die ein eigenständiger Anrufmanager eingehende Anrufe verteilen kann.
Syntax
NDIS_STATUS NdisCoCreateVc(
[in] NDIS_HANDLE NdisBindingHandle,
[in, optional] NDIS_HANDLE NdisAfHandle,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PNDIS_HANDLE NdisVcHandle
);
Parameter
[in] NdisBindingHandle
Gibt das von NdisOpenAdapterEx zurückgegebene Handle an, das die Ziel-NIC oder den virtuellen Adapter des nächsten niedrigeren Treibers identifiziert, an den der Aufrufer gebunden ist.
[in, optional] NdisAfHandle
Gibt das von NdisClOpenAddressFamilyEx zurückgegebene Handle an, wenn der Aufrufer ein Client ist. Ein Anruf-Manager legt diesen Parameter auf NULL- fest, wenn er eine VC für sich selbst erstellt, z. B. eine VC zu einem Netzwerkswitch. Wenn eine VC für eingehende Anrufbenachrichtigungen erstellt wird, übergibt ein Anrufmanager das AF-Handle, das er in seinem status pro AF gespeichert hat, der durch den CallMgrAfContext, der als Eingabeparameter an seinen ProtocolCmRegisterSap--Funktion.
[in] ProtocolVcContext
Gibt das Handle für einen vom Anrufer bereitgestellten residenten Kontextbereich an, in dem der Aufrufer den Zustand für diese VC verwaltet. NDIS übergibt dieses Handle in allen nachfolgenden Aufrufen dieses Endpunkts an den VC-Ersteller zurück, wenn der Aufruf an NdisCoCreateVc erfolgreich ist.
[in, out] NdisVcHandle
Zeiger auf eine vom Aufrufer bereitgestellte Variable, die initialisiert werden muss, um NULL-zu, wenn NdisCoCreateVc- aufgerufen wird. Bei der Rückgabe eines erfolgreichen Aufrufs verweist dies auf eine Variable, die NDIS auf den Handle für die neu erstellte VC festgelegt hat. Der Aufrufer muss diesen Handle für nachfolgende Aufrufe an verbindungsorientierte Ndis-Xxx--Funktionen speichern.
Rückgabewert
NdisCoCreateVc- kann eine der folgenden Werte zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
NDIS hat die VC erfolgreich erstellt. |
|
NDIS konnte nicht genügend Arbeitsspeicher zuordnen, um den VC einzurichten. |
|
Die angegebene NdisAfHandle- ist ungültig. |
|
Der zugrunde liegende Miniporttreiber hat die Erstellung des VC für einen bedingten Grund für den Miniporttreiber fehlgeschlagen, den NDIS an den Aufrufer weitergegeben hat. |
Bemerkungen
Ein Client oder ein eigenständiger Anrufmanager erstellt eine VC mit NdisCoCreateVc-, je nachdem, ob die VC einen ausgehenden oder eingehenden Anruf darstellt.
Im Prozess der VC-Erstellung stellt NDIS eine NdisVcHandle an den Client, den Anrufmanager und den Miniporttreiber bereit, an den beide Protokolltreiber gebunden sind. Mit diesem Handle wird der virtuelle Schaltkreis für den Client, den Anrufmanager und den Miniporttreiber identifiziert, an den nachfolgende Anforderungen bezüglich des angegebenen VC weitergeleitet werden. Jeder Treiber muss dieses VC-Handle als undurchsichtige Variable behandeln und in nachfolgenden Aufrufen bestimmter verbindungsorientierter NDIS-Bibliotheksfunktionen unverändert und nicht interpretiert werden.
In der Regel speichern Anrufer von NdisCoCreateVc den zurückgegebenen NdisVcHandle im ProtocolVcContext-. NDIS übergibt dieses Handle als Eingabeparameter an die ProtocolCoCreateVc- und MiniportCoCreateVc- Funktionen der anderen beiden Treiber, die an der Erstellung einer VC beteiligt sind.
Um einen ausgehenden Anruf zu tätigen, muss ein Client zuerst NdisCoCreateVc- aufrufen. Als synchroner Vorgang ruft NDIS die MiniportCoCreateVc-Funktion des zugrunde liegenden Miniporttreibers und die ProtocolCoCreateVc--Funktion des Anrufmanagers auf, bevor NdisCoCreateVc die Steuerung zurückgibt. Wenn der Aufruf von NdisCoCreateVc erfolgreich ist, kann der Client mit dem Tätigen eines ausgehenden Anrufs fortfahren und den zurückgegebenen NdisVcHandle- an NdisClMakeCallübergeben.
Wann ProtocolCoReceiveNetBufferLists Funktion verarbeitet das Angebot eines eingehenden Anrufs, der an eine der registrierten SAPs weitergeleitet wird, muss ein Anrufmanager zuerst NdisCoCreateVc aufrufen. Als synchroner Vorgang ruft NDIS die MiniportCoCreateVc-Funktion des zugrunde liegenden Miniporttreibers und die ProtocolCoCreateVc--Funktion des Clients auf, bevor NdisCoCreateVc die Steuerung zurückgibt. Wenn der Aufruf von NdisCoCreateVc erfolgreich ist, kann der Anrufmanager fortfahren, um den entsprechenden Client zu benachrichtigen und den zurückgegebenen Wert bei NdisVcHandle an NdisCmDispatchIncomingCall.
Eigenständige Anrufmanager, die sich bei NDIS als Protokolltreiber registrieren, können NdisCoCreateVcaufrufen. Verbindungsorientierte Miniporttreiber, die einen integrierten Anrufverwaltungssupport-Anruf NdisMCmCreateVcbereitstellen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisCoCreateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisCoCreateVc (NDIS 5.1)) in Windows XP. |
Zielplattform- | Desktop |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Connection_Function(ndis) |