Supporto di Header-Data suddivisione in driver di protocollo e driver di filtro
I driver di protocollo e i driver di filtro NDIS 6.0 e versioni successive devono supportare la ricezione di indicazioni con l'intestazione e i dati nei buffer non contigui.
Non è necessario presupporre che esista solo un singolo MDL in una struttura NET_BUFFER. I driver di protocollo e i driver di filtro non sono necessari per eseguire alcuna operazione specifica per supportare la registrazione di suddivisione dei dati di intestazione. Tuttavia, il codice di gestione della ricezione del driver deve gestire più MDL nella catena MDL e deve usare le macro MDL NDIS seguenti per accedere alla catena MDL MDL:
Con i buffer di divisione, la lunghezza dei dati associata alla struttura NET_BUFFER (nel membro DataLengthdella struttura NET_BUFFER_DATA ) viene suddivisa in più MDLs. Ad esempio, se un driver di protocollo ha tentato di accedere all'intero buffer di dati nel primo MDL, il driver potrebbe accedere a dati non validi.
Nota Dopo aver restituito la chiamata di indicazione di ricezione a un driver miniport, il driver miniport può recuperare gli MDL di intestazione. I driver overlying o i relativi client non devono accedere agli MDL di intestazione dopo che la chiamata di indicazione di ricezione restituisce al driver miniport. Questa restrizione si applica anche quando il driver miniport non indica i dati ricevuti con uno stato di NDIS_RECEIVE_FLAGS_RESOURCES.