KS-Zuteilung
Ein Allocator ist ein KS-Objekt, das Datenpuffer instanziiert, die als Frames für E/A-Anforderungen bezeichnet werden. Ein Frame ist ein Teil des kontinuierlichen Arbeitsspeichers, dessen Größe vom Anbieter über das AllocatorFraming-Element von KSPIN_DESCRIPTOR_EX angegeben wird.
Minidriver können Zuweisungen für mehrere Puffertypen unterstützen, für instance onboard-RAM in einer Video-Karte. Die meisten Minidriver verwenden jedoch den Standardverteiler , um Systemspeicher zuzuweisen. Minidriver können die Framegröße, die maximale Anzahl von Frames und die Ausrichtungsanforderungen angeben. Der Standardzuteilungsgeber kümmert sich um die Erfüllung der Anforderungen und kann die Leistung durch die Wiederverwendung verworfener Frames optimieren.
Ein Minidriver erstellt eine Zuteilung durch Aufrufen der KsCreateAllocator-Routine oder verwandter Funktionen. In diesem Aufruf übergibt der Minidriver einen Zeiger an eine KSALLOCATOR_FRAMING-Struktur . Diese Struktur enthält Parameter, die die angeforderte Zuordnung beschreiben.
Im Streamklassenmodell unterstützen Minidriver, die Zuteilungen erstellen, die eigenschaft KSPROPERTY_CONNECTION_ALLOCATORFRAMING . Dies ist eine schreibgeschützte Anforderung, die einen Zeiger auf die relevante KSALLOCATOR_FRAMING-Struktur für das angegebene Senkenhandle zurückgibt.
Minidriver, die Zuweisungen bereitstellen, sollten auch die eigenschaft KSPROPERTY_STREAM_ALLOCATOR unterstützen. Diese Eigenschaft bietet Lese-/Schreibzugriff auf das Handle des derzeit dem Streamverbindungspunkt zugewiesenen Zuteilungspunkts.
Minidriver, die unter AVStream ausgeführt werden, können Pins enthalten, die ihre eigenen Zuordnungen implementieren. Hierzu legen Sie das KSALLOCATOR_DISPATCH-Element der KSPIN_DISPATCH-Struktur fest. Geben Sie NULL für dieses Element an, wenn Sie keinen Zuteilungsgeber für diesen Pin angeben möchten.
Darüber hinaus verwenden AVStream-Minidriver die KSALLOCATOR_FRAMING_EX-Struktur , um die Anforderungen an die Zuordnung anzugeben. Clients verwenden dann die KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX-Eigenschaft , um Rahmenanforderungen für einen Pin abzurufen. Weitere Informationen finden Sie unter AVStream-Zuweisungen .
Dieser Abschnitt enthält die folgenden zusätzlichen Informationen: