Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir protokol sürücüsünün gönderme işlemleri için NET_BUFFER_LIST yapı havuzlarını ve NET_BUFFER yapı havuzlarını yönetmesi gerekir. Bu havuzları oluşturmak için sürücüler aşağıdaki işlevleri çağırır:
Protokol sürücüleri, havuzlardan yapıları ayırmak için aşağıdaki işlevleri kullanabilir:
NdisAllocateNetBufferAndNetBufferList
NdisAllocateNetBufferAndNetBufferList çağırmak, NdisAllocateNetBufferList ve ardından NdisAllocateNetBufferçağırmaktan daha verimlidir. Ancak NdisAllocateNetBufferAndNetBufferList NET_BUFFER_LIST yapısında yalnızca bir NET_BUFFER yapısı oluşturur. NdisAllocateNetBufferAndNetBufferListfonksiyonunu kullanmak için, sürücünün AllocateNetBuffer parametresini, NdisAllocateNetBufferListPoolçağırdığında TRUE olarak ayarlaması gerekir.
Protokol sürücüleri, temel alınan sürücülerin arka doldurma ve bağlam alanı gereksinimlerini sorgulamak için OID isteklerini kullanabilir. Protokol sürücüsü, Açma durumunda veya yeniden başlatma durumlarındaki bir bağlama için geri doldurma ve bağlam gereksinimlerini belirlemelidir. Sürücünün yığının tamamı için yeterli geri doldurma ve bağlam alanı ayırması gerekir. Gerekirse, bir protokol sürücüsü havuzları boşaltabilir ve Yeniden Başlatıyor durumunda yeniden dağıtabilir.
Protokol sürücüleri havuzları boşaltmak için aşağıdaki işlevleri kullanır:
Protokol sürücüleri, havuzlardan ayrılan yapıları boşaltmak için aşağıdaki işlevleri kullanır:
Sürücüler, ilişkili NET_BUFFER_LIST yapısını boşaltmadan önce NdisAllocateNetBuffer ile ayrılan NET_BUFFER yapılarını serbest bırakmalıdır. NdisAllocateNetBufferAndNetBufferList ile ayrılan NET_BUFFER yapıları, sürücü ilişkili NET_BUFFER_LIST yapısı için NdisFreeNetBufferList çağırdığında serbest bırakılır.