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.
Sürücü yazarları, kopyalama, parçalama ve yeniden birleştirme işlemlerinden kaynaklanan üst (özgün) NET_BUFFER_LIST yapıları ile alt (türetilmiş) yapılar arasındaki ilişkiyi anlamalı ve sürdürmelidir.
Bir clone/fragment/reassemble işlevini çağıran, alt NET_BUFFER_LIST yapısındaki üst işaretçi ve alt sayı da dahil olmak üzere üst/alt ilişkiyi korur. Çocuk sayısı, çağıranın, tüm çocuklar serbest bırakıldıktan sonra ebeveyni serbest bırakmasını sağlar. Aşağıdaki kurallar geçerlidir:
Bir sürücü NET_BUFFER_LIST yapısından alt yapılar oluşturduğunda, üst yapının sahipliğini elinde bulundurmalı ve alt yapıları diğer sürücülere iletmelidir. Sürücü hiçbir zaman üst NET_BUFFER_LIST yapısını başka bir sürücüye geçirmemelidir.
Bir sürücü yalnızca üst NET_BUFFER_LIST yapısındaki alt eleman sayısını güncellemelidir. Üst yapı hiçbir zaman başka bir sürücüye aktarılmadığından, çocuk sayısının değerinin üzerine yazılması riski yoktur. Sürücü, alt yapılardaki ebeveyn işaretçisini üst yapıya gösterecek şekilde ayarlamalıdır.
Bir sürücü başka bir sürücüden NET_BUFFER_LIST aldığında, sürücü üst işaretçinin üzerine yazmamalıdır. Alınan NET_BUFFER_LIST yapısı bir alt öğeyse, üst işaretçisi zaten ayarlanmış olmalıdır. Sürücü, ana yapı olarak başka bir sürücüden alınan NET_BUFFER_LIST'i kullanabilir.
NDIS, önceki kuralları uygulamaya koymaz. NET_BUFFER_LIST yapısının geçerli sahibi, alt sayıyı ve ebeveyn işaretçiyi yönetmelidir. Örneğin, geçerli sahip, bir NET_BUFFER_LIST yapısını hem klonlayacak hem de parçalayacaksa, ebeveyn işaretçisini ve çocuk sayacını yönetmesi gerekir.
NDIS, bir NET_BUFFER_LIST yapısı ayırdığında alt öğe sayısını sıfıra ve ebeveyn göstericisini NULL olarak ayarlar. NDIS, bir sürücü bir NET_BUFFER_LIST yapısını başka bir sürücüye her geçtiğinde bu alanları değiştirmez.