Freigeben über


NdisMCmCreateVc-Funktion (ndis.h)

NdisMCmCreateVc richtet einen Verbindungsendpunkt ein, auf dem ein MCM-Treiber ein Angebot für eingehende Anrufe an einen Client senden kann.

Syntax

NDIS_STATUS NdisMCmCreateVc(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  NDIS_HANDLE  NdisAfHandle,
  [in]  NDIS_HANDLE  MiniportVcContext,
  [out] PNDIS_HANDLE NdisVcHandle
);

Parameter

[in] MiniportAdapterHandle

Gibt das von NDIS bereitgestellte Handle an, das ursprünglich für MiniportInitializeEx eingegeben wurde.

[in] NdisAfHandle

Gibt das Handle an, das den Client identifiziert, der das Ziel eines eingehenden Anrufs ist. Der MCM-Treiber hat dieses Handle als Eingabeparameter für seine ProtocolCmOpenAf-Funktion abgerufen.

[in] MiniportVcContext

Gibt das Handle für einen vom Aufrufer bereitgestellten residenten Kontextbereich an, in dem der MCM-Treiber den Zustand für diesen Nachweis verwaltet. NDIS übergibt dieses Handle zurück an den MCM-Treiber in allen nachfolgenden Aufrufen, die diese VC betreffen, wenn der Aufruf von NdisMCmCreateVc erfolgreich ist.

[out] NdisVcHandle

Zeiger auf eine vom Aufrufer bereitgestellte Variable, die mit NULL initialisiert werden muss, bevor NdisMCmCreateVc aufgerufen wird. Nach einem erfolgreichen Aufruf wurde diese Variable auf ein von NDIS bereitgestelltes Handle für den neu erstellten Vc festgelegt. Der Aufrufer muss dieses Handle für nachfolgende Aufrufe von verbindungsorientierten NdisXxx-Funktionen speichern, die diesen Vc betreffen.

Rückgabewert

NdisMCmCreateVc kann eine der folgenden Aktionen zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NDIS hat den Nachweis erfolgreich erstellt.
NDIS_STATUS_RESOURCES
NDIS konnte nicht genügend Arbeitsspeicher zum Einrichten des Nachweises zuweisen.
NDIS_STATUS_FAILURE
Das angegebene NdisAfHandle ist ungültig.
NDIS_STATUS_XXX
Der Client ist aus irgendeinem Grund nicht erfolgreich bei der Erstellung des Nachweises, und NDIS hat den Fehler status von seiner ProtocolCoCreateVc-Funktion an den MCM-Treiber weitergegeben.

Hinweise

Ein MCM-Treiber erstellt eine VC mit NdisMCmCreateVc , um ein eingehendes Angebot einer Verbindung von einem Remoteknoten darzustellen, der an einen SAP weitergeleitet wird, der bereits mit dem MCM-Treiber registriert wurde.

Im Prozess der Vc-Erstellung stellt NDIS dem Client und dem MCM-Treiber ein NdisVcHandle zur Verfügung. Dieses Handle identifiziert die virtuelle Verbindung für den Client und den Miniporttreiber, an die nachfolgende Anforderungen bezüglich des angegebenen Nachweises gerichtet werden. Jeder Treiber muss dieses VC-Handle als undurchsichtige Variable behandeln und in nachfolgenden Aufrufen bestimmter verbindungsorientierter NDIS-Bibliotheksfunktionen unverändert und uninterpretiert übergeben.

Normalerweise speichern Aufrufer von NdisMCmCreateVc das zurückgegebene NdisVcHandle im vom Aufrufer zugewiesenen Zustandsbereich unter MiniportVcContext . NDIS übergibt ein NdisVcHandle als Eingabeparameter an die ProtocolCoCreateVc-Funktion des entsprechenden Clients, wenn ein MCM-Treiber eine Vc erstellt.

Wenn ein MCM-Treiber das Angebot eines eingehenden Anrufs verarbeitet, der an eine seiner registrierten SAPs gerichtet ist, muss er zuerst NdisMCmCreateVc aufrufen. Als synchroner Vorgang ruft NDIS die ProtocolCoCreateVc-Funktion des Clients auf, bevor NdisMCmCreateVc die Steuerung zurückgibt. Wenn der Aufruf von NdisMCmCreateVc erfolgreich ist, kann der MCM-Treiber den entsprechenden Client benachrichtigen und den bei NdisVcHandle zurückgegebenen Wert an übergeben. NdisMCmDispatchIncomingCall.

Der Treiberwriter bestimmt, ob ein MCM-Treiber über eine (interne) MiniportCoCreateVc-Funktion verfügt, die der Treiber im Kontext der Einrichtung von Verbindungen für ausgehende und eingehende Anrufe aufruft.

Nur verbindungsorientierte Miniporttreiber, die integrierte Unterstützung für die Anrufverwaltung bieten, können NdisMCmCreateVc aufrufen. Eigenständige Anrufmanager und -clients, die sich bei NDIS als Protokolltreiber registrieren, rufen stattdessen NdisCoCreateVc auf .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisMCmCreateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisMCmCreateVc (NDIS 5.1)) in Windows XP.
Zielplattform Desktop
Kopfzeile ndis.h (include Ndis.h)
Bibliothek Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_MCM_Function(ndis)

Weitere Informationen

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap

ProtocolCoCreateVc