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) |