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, 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 incluse nell'elenco collegato di strutture specificate 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.

NDIS_RECEIVE_FLAGS_RESOURCES

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

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 di NDIS_RECEIVE_FLAGS_RESOURCES nel parametro CoReceiveFlags, NDIS restituisce le strutture NET_BUFFER_LIST che NetBufferLists specificano al driver miniport funzione MiniportReturnNetBufferLists. In questo caso, il driver miniport non deve recuperare le strutture NET_BUFFER_LIST fino a quando NDIS non restituisce le strutture NET_BUFFER_LIST al driver miniport MiniportReturnNetBufferLists funzione.

Se un driver miniport chiama NdisMCoIndicateReceiveNetBufferLists e imposta il flag NDIS_RECEIVE_FLAGS_RESOURCES nel parametro CoReceiveFlags, il driver miniport deve riprendere immediatamente la proprietà delle strutture NET_BUFFER_LIST. In questo caso, NDIS non chiama la funzione MiniportReturnNetBufferLists del driver miniport per restituire le strutture di NET_BUFFER_LIST. Al contrario, NDIS restituisce le strutture NET_BUFFER_LIST al driver miniport quando NdisMCoIndicateReceiveNetBufferLists restituisce. Il driver miniport deve recuperare le strutture di NET_BUFFER_LIST immediatamente dopo NdisMCoIndicateReceiveNetBufferLists restituisce. Per recuperare le strutture NET_BUFFER_LIST, un driver 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 di NET_BUFFER_LIST preallocate sufficienti per evitare la copia non necessaria.

Il chiamante di NdisMCoIndicateReceiveNetBufferLists deve inizializzare correttamente le strutture di NET_BUFFER_LIST, le strutture NET_BUFFER associate ed eventuali elenchi di descrittori di memoria associati.)

Fabbisogno

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)

Vedere anche

MiniportCoCreateVc

miniportInterruptDPC

miniportReturnNetBufferLists

NET_BUFFER

NET_BUFFER_LIST