Condividi tramite


Funzione NdisMCoIndicateReceiveNetBufferLists (ndis.h)

La funzione NdisMCoIndicateReceiveNetBufferLists indica che il driver miniport ha ricevuto dati dalla rete.

Sintassi

void NdisMCoIndicateReceiveNetBufferLists(
  [in] IN NDIS_HANDLE      NdisVcHandle,
  [in] IN PNET_BUFFER_LIST NetBufferLists,
  [in] IN ULONG            NumberOfNetBufferLists,
  [in] IN ULONG            CoReceiveFlags
);

Parametri

[in] NdisVcHandle

Handle che identifica una connessione virtuale (VC). Il driver miniport ha ottenuto questo handle come parametro di input per la relativa funzione MiniportCoCreateVc , sia quando un client configura una chiamata in uscita o quando il gestore chiamate ha creato un vc per un punto di accesso al servizio registrato dal client (SAP) per indicare una notifica di chiamata in ingresso su .

[in] NetBufferLists

Elenco collegato di strutture NET_BUFFER_LIST allocate dal driver miniport.

[in] NumberOfNetBufferLists

Numero di strutture NET_BUFFER_LIST presenti nell'elenco collegato di strutture specificate da NetBufferLists .

[in] CoReceiveFlags

Flag che definiscono gli attributi per l'operazione di invio. I flag possono essere combinati con un'operazione OR bit per bit. Per cancellare tutti i flag, impostare questo parametro su zero. NdisMCoIndicateReceiveNetBufferLists supporta i flag seguenti:

NDIS_RECEIVE_FLAGS_DISPATCH_LEVEL

Il runtime di integrazione corrente è DISPATCH_LEVEL. Per altre informazioni su questo flag, vedere Dispatch IRQL Tracking.For more information about this flag, see Dispatch IRQL Tracking.

NDIS_RECEIVE_FLAGS_RESOURCES

Il driver miniport recupera la proprietà delle strutture NET_BUFFER_LIST ed eventuali strutture NET_BUFFER collegate immediatamente dopo la restituzione di NdisMCoIndicateReceiveNetBufferLists .

Valore restituito

nessuno

Osservazioni

Un driver miniport chiama in genere la funzione NdisMCoIndicateReceiveNetBufferLists dalla funzione MiniportInterruptDPC . Quando un driver miniport chiama NdisMCoIndicateReceiveNetBufferLists, specifica un elenco di strutture NET_BUFFER_LIST nel parametro NetBufferLists . NDIS passa quindi le strutture NET_BUFFER_LIST ai driver di protocollo associati.

I driver Miniport devono impostare il membro SourceHandle di ogni struttura NET_BUFFER_LIST sullo stesso valore del parametro NdisVcHandle in modo che NDIS possa restituire le strutture NET_BUFFER_LIST al driver miniport corretto.

Se un driver miniport chiama NdisMCoIndicateReceiveNetBufferLists e cancella il flag NDIS_RECEIVE_FLAGS_RESOURCES nel parametro CoReceiveFlags , NDIS restituisce le strutture NET_BUFFER_LIST specificate da NetBufferLists al driver miniport Funzione MiniportReturnNetBufferLists . In questo caso, il driver miniport non deve recuperare le strutture NET_BUFFER_LIST finché NDIS non restituisce le strutture NET_BUFFER_LIST alla funzione MiniportReturnNetBufferLists del driver miniport .

Se un driver miniport chiama NdisMCoIndicateReceiveNetBufferLists e imposta immediatamente il flag NDIS_RECEIVE_FLAGS_RESOURCES nel parametro CoReceiveFlags , il driver miniport deve ottenere immediatamente la proprietà delle strutture NET_BUFFER_LIST. In questo caso, NDIS non chiama la funzione MiniportReturnNetBufferLists del driver miniport per restituire le strutture NET_BUFFER_LIST. Al contrario, NDIS restituisce le strutture NET_BUFFER_LIST al driver miniport quando restituisce NdisMCoIndicateReceiveNetBufferLists . Il driver miniport deve recuperare le strutture NET_BUFFER_LIST immediatamente dopo la restituzione di NdisMCoIndicateReceiveNetBufferLists . Per recuperare le strutture NET_BUFFER_LIST, un conducente miniport può chiamare il proprio Funzione MiniportReturnNetBufferLists .

Se un driver miniport imposta il flag NDIS_RECEIVE_FLAGS_RESOURCES nel parametro CoReceiveFlags , i driver di protocollo devono copiare i dati di rete e rilasciare le strutture NET_BUFFER_LIST nel driver miniport. È consigliabile progettare i driver miniport con strutture preallocate NET_BUFFER_LIST sufficienti per evitare la copia non necessaria.

Il chiamante di NdisMCoIndicateReceiveNetBufferLists deve inizializzare correttamente le strutture di NET_BUFFER_LIST, le strutture associate NET_BUFFER e gli elenchi dei descrittori di memoria associati.The caller of NdisMCoIndicateReceiveNetBufferLists must initialize the NET_BUFFER_LIST structures, the attached NET_BUFFER structures, and any attached memory descriptor lists (MDLs).

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_MCO_Function(ndis)

Vedi anche

MiniportCoCreateVc

MiniportInterruptDPC

MiniportReturnNetBufferLists

NET_BUFFER

NET_BUFFER_LIST