Condividi tramite


MINIPORT_CO_CREATE_VC funzione di callback (ndis.h)

La funzione MiniportCoCreateVc è necessaria per i miniporti orientati alla connessione. MiniportCoCreateVc viene chiamato da NDIS per indicare al driver miniport che viene creato un nuovo VC.

Nota È necessario dichiarare la funzione usando il tipo di MINIPORT_CO_CREATE_VC . Per altre informazioni, vedere la sezione Esempi seguenti.
 

Sintassi

MINIPORT_CO_CREATE_VC MiniportCoCreateVc;

NDIS_STATUS MiniportCoCreateVc(
  [in]  NDIS_HANDLE MiniportAdapterContext,
  [in]  NDIS_HANDLE NdisVcHandle,
  [out] PNDIS_HANDLE MiniportVcContext
)
{...}

Parametri

[in] MiniportAdapterContext

Specifica l'handle in un'area di contesto allocata dal driver miniport in cui il driver miniport gestisce le informazioni sullo stato su questa istanza dell'adattatore. Il driver miniport ha fornito questo handle a NDIS chiamando NdisMSetMiniportAttributes dal relativo Funzione MiniportInitializeEx .

[in] NdisVcHandle

Specifica un handle, fornito da NDIS, che identifica in modo univoco il VC creato. Questo handle è opaco per il driver miniport e riservato per l'uso della libreria NDIS.

[out] MiniportVcContext

Specifica, in output, un handle in un'area di contesto fornita dal driver miniport in cui il driver miniport mantiene lo stato relativo al VC.

Valore restituito

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Indica che il driver miniport ha allocato tutte le risorse necessarie e si è preparato per gestire le richieste per il VC appena creato.
NDIS_STATUS_RESOURCES
Indica che il gestore chiamate non è riuscito a ottenere risorse allocate in modo dinamico necessarie per operare sul nuovo VC.

Commenti

MiniportCoCreateVc deve essere scritto come funzione sincrona e non può, in qualsiasi caso, restituire NDIS_STATUS_PENDING senza causare un errore a livello di sistema.

MiniportCoCreateVc alloca tutte le risorse necessarie necessarie per il driver miniport per mantenere le informazioni sullo stato relative al VC. Le risorse potrebbero includere, ma non sono limitate ai buffer di memoria, agli eventi, alle strutture di dati e ad altre risorse simili.

Dopo aver allocato tutte le risorse necessarie, il driver miniport deve inizializzare le risorse in uno stato utilizzabile e restituire un puntatore all'area di stato in MiniportVcContext. L'handle viene impostato dereferendo l'handle e archiviando un puntatore al buffer di stato come valore dell'handle. Ad esempio:

*MiniportVcContext = SomeBuffer;

I driver Miniport devono archiviare l'handle in VC, NdisVcHandle, nell'area di stato in quanto è un parametro obbligatorio per altre routine di libreria NDIS che vengono successivamente chiamate dal driver miniport.

Esempi

Per definire una funzione MiniportCoCreateVc , è prima necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione MiniportCoCreateVc denominata "MyCoCreateVc ", usare il tipo di MINIPORT_CO_CREATE_VC come illustrato in questo esempio di codice:

MINIPORT_CO_CREATE_VC MyCoCreateVc;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
NDIS_STATUS
 MyCoCreateVc(
    NDIS_HANDLE  MiniportAdapterContext,
    NDIS_HANDLE  NdisVcHandle,
    PNDIS_HANDLE  MiniportVcContext
    )
  {...}

Il tipo di funzione MINIPORT_CO_CREATE_VC è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano usate le annotazioni applicate al tipo di funzione MINIPORT_CO_CREATE_VC nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.

Per informazioni su Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere MiniportCoCreateVc (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere MiniportCoCreateVc (NDIS 5.1) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

MiniportInitializeEx

NdisMSetMiniportAttributes