NdisCoCreateVc-Funktion (ndis.h)
NdisCoCreateVc richtet einen Verbindungsendpunkt ein, über den ein Client ausgehende Anrufe tätigen kann oder über den ein eigenständiger Anrufmanager eingehende Anrufe senden 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ächstniedrigen 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 Aufruf-Manager legt diesen Parameter auf NULL fest, wenn er eine VC für sich selbst erstellt, z. B. eine VC zu einem Netzwerkswitch. Wenn er eine VC für eingehende Anrufbenachrichtigungen erstellt, übergibt ein Anruf-Manager das AF-Handle, das er in seinem per AF-Zustand gespeichert hat, der vom CallMgrAfContext als Eingabeparameter übergeben wurde, an seine ProtocolCmRegisterSap-Funktion .
[in] ProtocolVcContext
Gibt das Handle für einen vom Aufrufer bereitgestellten residenten Kontextbereich an, in dem der Aufrufer den Zustand für diese VC verwaltet. NDIS übergibt dieses Handle in allen nachfolgenden Aufrufen zu diesem Endpunkt zurück an den VC-Ersteller, wenn der Aufruf von NdisCoCreateVc erfolgreich ist.
[in, out] NdisVcHandle
Zeiger auf eine vom Aufrufer bereitgestellte Variable, die mit NULL initialisiert werden muss, wenn NdisCoCreateVc aufgerufen wird. Bei der Rückkehr von einem erfolgreichen Aufruf verweist dies auf eine Variable, die NDIS auf ihr Handle für die neu erstellte VC festgelegt hat. Der Aufrufer muss dieses Handle für nachfolgende Aufrufe verbindungsorientierter Ndis Xxx-Funktionen speichern.
Rückgabewert
NdisCoCreateVc kann eine der folgenden Elemente zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
NDIS hat die VC erfolgreich erstellt. |
|
NDIS konnte nicht genügend Arbeitsspeicher für die Einrichtung der VC zuweisen. |
|
Das angegebene NdisAfHandle ist ungültig. |
|
Beim zugrunde liegenden Miniporttreiber ist die Erstellung der VC aus einem vom Miniporttreiber bestimmten Grund fehlgeschlagen, den NDIS an den Aufrufer weitergegeben hat. |
Hinweise
Ein Client oder eigenständiger Anrufmanager erstellt eine VC mit NdisCoCreateVc, je nachdem, ob die VC einen ausgehenden oder eingehenden Anruf darstellt.
Während der VC-Erstellung stellt NDIS eine NdisVcHandle an den Client, den Anruf-Manager und den Miniporttreiber bereit, an den beide Protokolltreiber gebunden sind. Mit diesem Handle wird die virtuelle Verbindung für den Client, den Anruf-Manager und den Miniporttreiber identifiziert, an die nachfolgende Anforderungen bezüglich der angegebenen VC gerichtet werden. Jeder Treiber muss dieses VC-Handle als undurchsichtige Variable behandeln und in nachfolgenden Aufrufen bestimmter verbindungsorientierter NDIS-Bibliotheksfunktionen unverändert und nicht interpretiert übergeben.
In der Regel speichern Aufrufer von NdisCoCreateVc das zurückgegebene NdisVcHandle im vom Aufrufer zugewiesenen Zustandsbereich unter ProtocolVcContext . NDIS übergibt dieses Handle als Eingabeparameter an die Funktionen ProtocolCoCreateVc und MiniportCoCreateVc der beiden anderen Treiber, die an jeder 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 Aufruf-Managers auf, bevor NdisCoCreateVc die Steuerung zurückgibt. Wenn der Aufruf von NdisCoCreateVc erfolgreich ist, kann der Client mit einem ausgehenden Anruf fortfahren und das zurückgegebene NdisVcHandle an NdisClMakeCall übergeben.
Wann Die ProtocolCoReceiveNetBufferLists-Funktion verarbeitet das Angebot eines eingehenden Aufrufs, der an eine der registrierten SAPs weitergeleitet wird. Ein Anruf-Manager muss 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 Anruf-Manager den entsprechenden Client benachrichtigen und den zurückgegebenen Wert an NdisVcHandle übergeben. NdisCmDispatchIncomingCall.
Eigenständige Anrufmanager, die sich bei NDIS als Protokolltreiber registrieren, können NdisCoCreateVc aufrufen. Verbindungsorientierte Miniporttreiber, die integrierte Anrufverwaltung unterstützen, rufen stattdessen NdisMCmCreateVc an.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (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 |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Connection_Function(ndis) |