Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladač třídy AVStream používá alokátor k přidělení datové vyrovnávací paměti v jednotkách nazývaných rámečky. Rámec je blok souvislé paměti, jehož velikost je určena dodavatelem prostřednictvím člena AllocatorFramingKSPIN_DESCRIPTOR_EX.
Minidrivery přistupují k těmto vyrovnávacím pamětím prostřednictvím rozhraní API pro ukazatele streamu; voláním funkce KsPinGetLeadingEdgeStreamPointer získáte ukazatel na stream.
Klienti AVStream mohou získat informace o požadavcích na zarámování pinu pomocí vlastnosti pouze pro čtení KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX. Tato vlastnost vrací strukturu typu KSALLOCATOR_FRAMING_EX, která popisuje požadavky na rámování piny.
Pokud se data už nepoužívají, avStream použije alokátor k uvolnění vyrovnávací paměti.
AVStream poskytuje výchozí alokátor. Výchozí alokátor přidělí paměť fondu na základě požadavků alokátoru, které minidriver poskytuje v členu AllocatorFraming struktury KSPIN_DESCRIPTOR_EX .
Dodavatel s požadavky na přidělení specifické pro zařízení může napsat minidriver, který obsahuje vlastní rutiny přidělování. Můžete například poskytnout alokátor, pokud ovladač přidělí paměť ze společné vyrovnávací paměti DMA.
Chcete-li poskytnout alokátor, zadejte KSALLOCATOR_DISPATCH strukturu, která obsahuje ukazatele na následující rutiny zpětného volání zadané dodavatelem:
Zadejte ukazatel na tuto dispečerskou strukturu alokátoru v členovi alokátoruKSPIN_DISPATCH struktury popisující pin, pro který tento alokátor vytvoří instanci rámců.
Zadejte ukazatel na tuto strukturu pin dispatch ve členu Dispatch odpovídající struktury KSPIN_DESCRIPTOR_EX. Další informace o strukturách dispečerů v AVStream naleznete v tématu AVStream Dispatch Tables.
Při spuštění zpracovává správce grafu (například modul Kernel Streaming Proxy) výběr alokátoru. Správce grafů nezaručuje výběr alokátoru dodaného dodavatelem.
Alokátor režimu jádra je zvolen pouze v případě, že je připojení v režimu jádra. Kromě toho může být váš alokátor odmítnut, pokud dojde k neshodě požadavků alokátoru a schopností vašeho alokátoru. Pokud není alokátor vybrán, rutina zpětného volání AVStrMiniInitializeAllocator nebude nikdy zavolána.
Viz také AVStream DMA Services a stream ukazatele.