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.
Bu bölümde, VMQ alma arabelleklerindeki paylaşılan belleğin düzeni açıklanmaktadır. Alma göstergelerinde arabellekleri kullanma hakkında daha fazla bilgi için bkz. VMQ Alma Yolu.
Üzerinde çalışan protokol sürücüsü, NDIS_RECEIVE_QUEUE_PARAMETERS yapısının Bayraklar üyesinde NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED bayrağını ayarladıysa, ağ bağdaştırıcısı alınan paketi istenen lookahead boyutuna eşit veya ondan büyük bir ofsetinde bölmeli ve DMA kullanarak lookahead verilerini ve lookahead sonrası verileri ayrı paylaşılan bellek segmentlerine aktarmalıdır.
Miniport sürücüleri, paylaşılan bellek ayrıldığında, lookahead türü (NdisSharedMemoryUsageReceiveLookahead) veya diğer paylaşılan bellek türleri için ayarları belirtir. Örneğin, miniport sürücüsü NdisAllocateSharedMemory işlevini çağırır ve NDIS_SHARED_MEMORY_PARAMETERS yapısındaki Kullanım üyesini NdisSharedMemoryUsageReceiveLookaheadolarak ayarlar. Miniport sürücüleri, kuyruk ayırma işlemi tamamlandığında bir kuyruk için paylaşılan bellek ayırmalıdır. Kuyruklar için paylaşılan bellek kaynaklarını ayırma ve boşaltma hakkında bilgi için bkz. Paylaşılan Bellek Kaynağı Ayırma.
Aşağıdaki çizimde, gelen veriler iki paylaşılan bellek arabelleğine bölündüğünde ağ verilerinin ilişkileri gösterilmektedir.
NET_BUFFER_SHARED_MEMORY yapısı paylaşılan bellek bilgilerini belirtir. NET_BUFFER yapısıyla ilişkilendirilmiş bu tür paylaşılan bellek arabelleklerinin bağlantılı bir listesi olabilir.
NET_BUFFER yapısındaki NET_BUFFER_SHARED_MEMORY'ye erişmek için NET_BUFFER_SHARED_MEM_NEXT_SEGMENT, NET_BUFFER_SHARED_MEM_FLAGS, NET_BUFFER_SHARED_MEM_HANDLE, NET_BUFFER_SHARED_MEM_OFFSETve NET_BUFFER_SHARED_MEM_LENGTH makrolarını kullanın. NET_BUFFER yapısının SharedMemoryInfo üyesi, bağlı listedeki ilk NET_BUFFER_SHARED_MEMORY yapısını içerir.
Not NDIS 6.30'dan başlayarak paket verilerini ayrı lookahead arabelleklerine bölme artık desteklenmemektedir. Windows Server 2012'den başlayarak, üst protokol sürücüsü NDIS_RECEIVE_QUEUE_PARAMETERS yapısının Bayraklar üyesinde NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED bayrağını ayarlamayacaktır.