Condividi tramite


Funzione NdisMCmCreateVc (ndis.h)

NdisMCmCreateVc configura un endpoint di connessione in cui un driver MCM può inviare un'offerta di chiamata in ingresso a un client.

Sintassi

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

Parametri

[in] MiniportAdapterHandle

Specifica l'input originale dell'handle fornito da NDIS a MiniportInitializeEx.

[in] NdisAfHandle

Specifica l'handle che identifica il client che rappresenta la destinazione di una chiamata in ingresso. Il driver MCM ha ottenuto questo handle come parametro di input per la relativa funzione ProtocolCmOpenAf .

[in] MiniportVcContext

Specifica l'handle di un'area del contesto residente fornita dal chiamante in cui il driver MCM mantiene lo stato per questo vc. NDIS passa di nuovo questo handle al driver MCM in tutte le chiamate successive relative a questo vc se la chiamata a NdisMCmCreateVc ha esito positivo.

[out] NdisVcHandle

Puntatore a una variabile fornita dal chiamante che deve essere inizializzata su NULL prima che venga chiamato NdisMCmCreateVc . Al termine della chiamata, questa variabile è stata impostata su un handle fornito da NDIS per il vc appena creato. Il chiamante deve salvare questo handle per le chiamate successive alle funzioni NdisXxx orientate alla connessione relative a questo vc.

Valore restituito

NdisMCmCreateVc può restituire uno dei seguenti elementi:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
NDIS ha creato correttamente il vc.
NDIS_STATUS_RESOURCES
NDIS non è riuscito ad allocare memoria sufficiente per configurare il vc.
NDIS_STATUS_FAILURE
L'oggetto NdisAfHandle specificato non è valido.
NDIS_STATUS_XXX
Il client non è riuscito a creare vc per qualche motivo e NDIS ha propagato lo stato di errore restituito dalla relativa funzione ProtocolCoCreateVc al driver MCM.

Commenti

Un driver MCM crea un vc con NdisMCmCreateVc per rappresentare un'offerta in ingresso di una connessione da un nodo remoto diretto a un sap già registrato con il driver MCM.

Durante il processo di creazione di VC, NDIS fornisce un NdisVcHandle al client e al driver MCM. Questo handle identifica la connessione virtuale per il driver client e miniport a cui vengono indirizzate le richieste successive relative al vc specificato. Ogni driver deve trattare questo handle vc come variabile opaca, passandolo non modificato e non interpretato nelle chiamate successive a determinate funzioni della libreria NDIS orientate alla connessione.

In genere, i chiamanti di NdisMCmCreateVc archiviano l'oggetto NdisVcHandle restituito nell'area di stato allocata dal chiamante in MiniportVcContext . NDIS passa NdisVcHandle come parametro di input alla funzione ProtocolCoCreateVc del client appropriato ogni volta che un driver MCM crea un vc.

Quando un driver MCM elabora l'offerta di una chiamata in ingresso indirizzata a uno dei provider di sicurezza registrati, deve chiamare prima NdisMCmCreateVc . Come operazione sincrona, NDIS chiama la funzione ProtocolCoCreateVc del client prima che NdisMCmCreateVc restituisca il controllo. Se la chiamata a NdisMCmCreateVc ha esito positivo, il driver MCM può continuare a notificare al client appropriato, passando il valore restituito in NdisVcHandle a NdisMCmDispatchIncomingCall.

Il writer del driver determina se un driver MCM ha una funzione MiniportCoCreateVc (interna) che il driver chiama nel contesto della configurazione delle connessioni per le chiamate in uscita e in ingresso.

Solo i driver miniport orientati alla connessione che forniscono supporto integrato per la gestione delle chiamate possono chiamare NdisMCmCreateVc. I responsabili delle chiamate autonomi e i client, che si registrano con NDIS come driver di protocollo, chiamano invece NdisCoCreateVc .

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisMCmCreateVc (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisMCmCreateVc (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_MCM_Function(ndis)

Vedi anche

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap

ProtocolCoCreateVc