Ağ Verilerinin Ara Sürücü Üzerinden İletilmesi

Bir Ara Sürücüyü MiniPort Sürücüsü Olarak Kaydetmekonusunda açıklandığı gibi, ara sürücü NdisMRegisterMiniportDriverile kaydolduğunda miniportSendNetBufferListsbir işlev sağlamalıdır. MiniportSendNetBufferLists işlevi, gelen NET_BUFFER_LIST yapılarını, sürücünün bağlantısız alt kenarı varsa NdisSendNetBufferLists çağırarak iletebilir. MiniportSendNetBufferLists, temel alınan miniport sürücüsünün özelliklerine bakılmaksızın NdisSendNetBufferLists ile aldığı NET_BUFFER_LIST yapıların listesini gönderebilir.

MiniportSendNetBufferLists, NdisSendNetBufferListsüst katman çağırıcı tarafından belirlenen sıraya göre düzenlenmiş NET_BUFFER_LIST yapılarının bir listesini alır. Çoğu durumda, ara sürücü, temel alınan miniport sürücüsüne gelen NET_BUFFER_LIST yapıları dizisini geçirirken bu sıralamayı korumalıdır. Ağ verilerindeki verileri temel alınan sürücüye geçirmeden önce değiştiren bir ara sürücü, listeyi yeniden sıralayabilir.

NDIS, NET_BUFFER_LIST yapı işaretçilerinin bağlı bir liste olarak NdisSendNetBufferListsişlemine geçirilirken sırasını her zaman korur. Temel alınan miniport sürücüsü, MiniportSendNetBufferLists işlevine geçirilen listenin ağ verilerinin aynı sırada iletilmesi gerektiğini de varsayar.