KS Tahsis Ediciler

Ayırıcı, G/Ç istekleri için çerçeve olarak adlandırılan veri arabelleklerinin örneğini oluşturan bir KS nesnesidir. Çerçeve, boyutu tedarikçi tarafından KSPIN_DESCRIPTOR_EX AllocatorFraming üyesi aracılığıyla belirlenen sürekli bir bellek öbeğidir.

Minidriver'lar birden çok arabellek türü için ayırıcılar destekleyebilir, örneğin ekran kartındaki yerleşik RAM. Ancak, çoğu minidriver sistem belleğini ayırmak için varsayılan ayırıcıyı kullanır. Minidriver'lar çerçeve boyutunu, maksimum kare sayısını ve hizalama gereksinimlerini belirtebilir. Varsayılan bellek ayırıcı, gereksinimleri karşılama görevini üstlenir ve atılan çerçeveleri yeniden kullanarak performansı böylece iyileştirebilir.

Minidriver, KsCreateAllocator yordamını veya ilgili işlevleri çağırarak bir ayırıcı oluşturur. Bu çağrıda, minidriver bir işaretçiyi KSALLOCATOR_FRAMING yapısına geçirir. Bu yapı, istenen ayırıcıyı açıklayan parametreleri içerir.

Akış sınıfı modelinde ayırıcılar oluşturan minidriver'lar KSPROPERTY_CONNECTION_ALLOCATORFRAMING özelliğini destekler. Bu, belirtilen havuz tutamacının ilgili KSALLOCATOR_FRAMING yapısına bir işaretçi döndüren salt okunur bir istektir.

Ayırıcılar sağlayan minidriver'lar öte yandan KSPROPERTY_STREAM_ALLOCATOR özelliğini desteklemelidir. Bu özellik, şu anda akış bağlantı noktasına atanmış olan ayırıcının tanıtıcısına okuma/yazma erişimi sağlar.

AVStream altında çalışan minidriver'ların, kendi ayırıcılarını uygulayan pinler içerebileceğini söyleyebiliriz. Bunu yapmak için KSPIN_DISPATCH yapısının KSALLOCATOR_DISPATCH üyesini ayarlayın. Bu pin için ayırıcı belirtmek istemiyorsanız, bu üye için NULL belirtin.

Ayrıca AVStream minidriver'lar ayırıcı gereksinimlerini belirtmek için KSALLOCATOR_FRAMING_EX yapısını kullanır. İstemciler daha sonra bir pin için çerçeveleme gereksinimlerini almak için KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX özelliğini kullanır. Daha fazla bilgi için AVStream Tahsis Edicileri bölümüne bakın.

Bu bölüm aşağıdaki ek bilgileri içerir:

Varsayılan Ayırıcılar

Belirli Ayırıcıları Filtrele

Ayırma Düzenleri