Funzione NdisCoCreateVc (ndis.h)

NdisCoCreateVc configura un endpoint di connessione da cui un client può effettuare chiamate in uscita o in cui un gestore chiamate autonomo può inviare chiamate in ingresso.

Sintassi

NDIS_STATUS NdisCoCreateVc(
  [in]           NDIS_HANDLE  NdisBindingHandle,
  [in, optional] NDIS_HANDLE  NdisAfHandle,
  [in]           NDIS_HANDLE  ProtocolVcContext,
  [in, out]      PNDIS_HANDLE NdisVcHandle
);

Parametri

[in] NdisBindingHandle

Specifica l'handle restituito da NdisOpenAdapterEx che identifica la scheda di interfaccia di rete di destinazione o la scheda virtuale del driver inferiore successivo a cui è associato il chiamante.

[in, optional] NdisAfHandle

Specifica l'handle restituito da NdisClOpenAddressFamilyEx se il chiamante è un client. Un gestore chiamate imposta questo parametro su NULL se crea un vc per se stesso, ad esempio un vc a un commutatore di rete. Quando crea un vc per le notifiche di chiamata in ingresso, un gestore chiamate passa l'handle AF salvato nel relativo stato per AF designato da CallMgrAfContext passato come parametro di input al relativo Funzione ProtocolCmRegisterSap .

[in] ProtocolVcContext

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

[in, out] NdisVcHandle

Puntatore a una variabile fornita dal chiamante che deve essere inizializzata su NULL quando viene chiamato NdisCoCreateVc . Al ritorno da una chiamata riuscita, punta a una variabile che NDIS ha impostato sul relativo handle per il vc appena creato. Il chiamante deve salvare questo handle per le chiamate successive alle funzioni Ndis Xxx orientate alla connessione.

Valore restituito

NdisCoCreateVc 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 driver miniport sottostante non ha superato la creazione del vc per un motivo determinato dal driver miniport, che NDIS ha propagato al chiamante.

Commenti

Un client o un gestore chiamate autonomo crea un vc con NdisCoCreateVc, a seconda che il vc rappresenti rispettivamente una chiamata in uscita o in ingresso.

Durante il processo di creazione di VC, NDIS fornisce un NdisVcHandle al client, al gestore chiamate e al driver miniport a cui sono associati entrambi i driver di protocollo. Questo handle identifica il circuito virtuale per il client, il gestore chiamate e il driver 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 NdisCoCreateVc archiviano l'oggetto NdisVcHandle restituito nell'area di stato allocata dal chiamante in ProtocolVcContext . NDIS passa questo handle come parametro di input alle funzioni ProtocolCoCreateVc e MiniportCoCreateVc degli altri due driver coinvolti in ogni creazione di un vc.

Per effettuare una chiamata in uscita, un client deve chiamare prima NdisCoCreateVc . Come operazione sincrona, NDIS chiama la funzione MiniportCoCreateVc sottostante del driver miniport e la funzione ProtocolCoCreateVc del gestore chiamate prima che NdisCoCreateVc restituisca il controllo. Se la chiamata a NdisCoCreateVc ha esito positivo, il client può procedere con una chiamata in uscita, passando NdisVcHandle restituito a NdisClMakeCall.

Quando il suo La funzione ProtocolCoReceiveNetBufferLists elabora l'offerta di una chiamata in ingresso indirizzata a uno dei provider di servizi di sicurezza registrati, un gestore chiamate deve chiamare prima NdisCoCreateVc . Come operazione sincrona, NDIS chiama la funzione MiniportCoCreateVc del driver sottostante e la funzione ProtocolCoCreateVc del client prima che NdisCoCreateVc restituisca il controllo. Se la chiamata a NdisCoCreateVc ha esito positivo, il gestore chiamate può continuare a notificare al client appropriato, passando il valore restituito a NdisVcHandle a NdisCmDispatchIncomingCall.

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

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisCoCreateVc (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisCoCreateVc (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_Connection_Function(ndis)

Vedi anche

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCmDispatchIncomingCall

NdisCoDeleteVc

NdisMCmCreateVc

ProtocolCmRegisterSap

ProtocolCoCreateVc

ProtocolCoReceiveNetBufferLists