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.
NDIS sürücüsü, var olan bir NET_BUFFER_LIST yapısından kopyalanmış bir NET_BUFFER_LIST yapısı oluşturur. Kopyalanan yapı özgün yapı verilerine başvurur. Sürücüler, aynı verileri birden çok yola verimli bir şekilde aktarmak için bu tür bir yapı kullanabilir.
Aşağıdaki şekilde, bir üst NET_BUFFER_LIST yapısı ile kopyalanmış alt yapı arasındaki ilişki gösterilmektedir.
üst NET_BUFFER_LIST yapısı ile kopyalanan alt yapısı arasındaki ilişkiyi gösteren
Önceki şekil, bir üst NET_BUFFER_LIST yapısını ve bu üst yapıdan türetilmiş bir alt yapıyı içerir. Üst yapı, bir NET_BUFFER_LIST_CONTEXT yapısına ve MDL'lerin ekli olduğu bir NET_BUFFER yapıya sahiptir. Ebeveyn yapının ebeveyn işaretçisi NULL olduğundan türetilmiş bir yapı değildir.
Alt NET_BUFFER_LIST yapısı, MDL'lerin eklendiği bir NET_BUFFER yapıya sahiptir. Alt NET_BUFFER_LIST üst yapıya bir işaretçisi vardır. NET_BUFFER_LIST_CONTEXT yapı işaretçisinin olması gereken yerde NULL, alt öğenin NET_BUFFER_LIST_CONTEXT yapısına sahip olmadığını gösterir.
Sürücüler klon NET_BUFFER_LIST yapısı oluşturmak için NdisAllocateCloneNetBufferList işlevini çağırır. NDIS, kopyalanan NET_BUFFER_LIST yapısına sahip yeni NET_BUFFER yapıları ve MDL'leri ayırır. NDIS, kopyalanan yapı için NET_BUFFER_LIST_CONTEXT bir yapı ayırmaz. Yeni NET_BUFFER yapıları ve MDL'ler üst yapıdakiyle aynı verileri açıklar. Veriler kopyalanmaz.
Sürücüler NdisFreeCloneNetBufferList işlevini çağırarak NET_BUFFER_LIST bir yapıyı ve daha önce NdisAllocateCloneNetBufferListçağrılarak ayrılmış olan tüm ilişkili NET_BUFFER yapılarını ve MDL zincirlerini serbest bırakmalarını sağlar.