Partager via


NdisMCmCreateVc, fonction (ndis.h)

NdisMCmCreateVc configure un point de terminaison de connexion sur lequel un pilote MCM peut distribuer une offre d’appel entrante à un client.

Syntaxe

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

Paramètres

[in] MiniportAdapterHandle

Spécifie la poignée fournie par NDIS à l’origine à MiniportInitializeEx.

[in] NdisAfHandle

Spécifie le handle qui identifie le client qui est la cible d’un appel entrant. Le pilote MCM a obtenu ce handle en tant que paramètre d’entrée pour sa fonction ProtocolCmOpenAf.

[in] MiniportVcContext

Spécifie le handle d’une zone de contexte résident fournie par l’appelant dans laquelle le pilote MCM conserve l’état de cette vc. NDIS transmet ce handle au pilote MCM dans tous les appels suivants concernant ce vc si l’appel à NdisMCmCreateVc réussit.

[out] NdisVcHandle

Pointeur vers une variable fournie par l’appelant qui doit être initialisée pour NULL avant NdisMCmCreateVc est appelée. Lors du retour d’un appel réussi, cette variable a été définie sur un handle fourni par NDIS pour le vc nouvellement créé. L’appelant doit enregistrer ce handle pour les appels suivants vers des fonctions Ndis orientées connexionXxx concernant cette vc.

Valeur de retour

NdisMCmCreateVc pouvez retourner l’une des options suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
NDIS a créé le vc avec succès.
NDIS_STATUS_RESOURCES
NDIS n’a pas pu allouer suffisamment de mémoire pour configurer la vc.
NDIS_STATUS_FAILURE
Le NdisAfHandle n’est pas valide donné.
NDIS_STATUS_XXX
Le client a échoué la création du vc pour une raison quelconque, et NDIS a propagé l’état d’erreur retourné par sa fonction ProtocolCoCreateVc au pilote MCM.

Remarques

Un pilote MCM crée une vc avec NdisMCmCreateVc pour représenter une offre entrante d’une connexion à partir d’un nœud distant dirigé vers un SAP qui a déjà été inscrit auprès du pilote MCM.

Dans le processus de création de vc, NDIS fournit un NdisVcHandle au client et au pilote MCM. Ce handle identifie la connexion virtuelle pour le client et le pilote miniport vers lequel les demandes ultérieures concernant la vc donnée sont dirigées. Chaque pilote doit traiter ce handle VC comme une variable opaque, en le transmettant non modifié et non interprété dans les appels suivants à certaines fonctions de bibliothèque NDIS orientées connexion.

En règle générale, les appelants de NdisMCmCreateVc stockent le NdisVcHandle retourné dans la zone d’état allouée par l’appelant à MiniportVcContext. NDIS transmet une NdisVcHandle en tant que paramètre d’entrée à la fonction ProtocolCoCreateVc du client approprié chaque fois qu’un pilote MCM crée un vc.

Lorsqu’un pilote MCM traite l’offre d’un appel entrant dirigé vers l’une de ses SAP inscrites, il doit appeler NdisMCmCreateVc d’abord. En tant qu’opération synchrone, NDIS appelle la fonction ProtocolCoCreateVc du client avant NdisMCmCreateVc retourne le contrôle. Si son appel à NdisMCmCreateVc réussit, le pilote MCM peut continuer à notifier le client approprié, en transmettant la valeur retournée à NdisVcHandle à NdisMCmDispatchIncomingCall.

L’enregistreur de pilotes détermine si un pilote MCM a un MiniportCoCreateVc fonction que le pilote appelle dans le contexte de la configuration des connexions pour les appels sortants et entrants.

Seuls les pilotes miniport orientés connexion qui fournissent une prise en charge intégrée de la gestion des appels peuvent appeler NdisMCmCreateVc. Les gestionnaires d’appels et les clients autonomes, qui s’inscrivent auprès de NDIS en tant que pilotes de protocole, appellent NdisCoCreateVc à la place.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisMCmCreateVc (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisMCmCreateVc (NDIS 5.1)) dans Windows XP.
plateforme cible Bureau
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_MCM_Function(ndis)

Voir aussi

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap

ProtocolCoCreateVc