Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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 Speichers, dessen Größe durch das AllocatorFraming-Element von KSPIN_DESCRIPTOR_EX angegeben wird.
Miniteiber können Allokatoren für mehrere Puffertypen unterstützen, wie zum Beispiel für On-Board-RAM auf einer Videokarte. Die meisten Minidriver verwenden jedoch den Standardverteiler , um Systemspeicher zuzuweisen. Minidriver können Framegröße, maximale Anzahl von Frames und Ausrichtungsanforderungen angeben. Der Standard-Allocator kümmert sich um die Erfüllung der Anforderungen und kann die Leistung optimieren, indem verworfene Frames erneut verwendet werden.
Ein Minidriver erstellt einen Allocator 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 den angeforderten Allocator beschreiben.
Im Streamklassenmodell unterstützen Minidriver, die Zuweiser erstellen, die KSPROPERTY_CONNECTION_ALLOCATORFRAMING-Eigenschaft. Dies ist eine schreibgeschützte Anforderung, die einen Zeiger auf die relevante KSALLOCATOR_FRAMING Struktur für den angegebenen Senkenziehpunkt zurückgibt.
Minidriver, die Allokatoren bereitstellen, sollten auch die KSPROPERTY_STREAM_ALLOCATOR-Eigenschaft unterstützen. Diese Eigenschaft bietet Lese-/Schreibzugriff auf das Handle des aktuell dem Stream-Verbindungspunkt zugewiesenen Allocators.
Minidriver, die unter AVStream ausgeführt werden, können Pins enthalten, die ihre eigenen Allokatoren implementieren. Legen Sie dazu das KSALLOCATOR_DISPATCH Element der KSPIN_DISPATCH-Struktur fest. Geben Sie NULL für dieses Element an, wenn Sie keinen Zuweisungsgeber für diesen Pin angeben möchten.
Darüber hinaus verwenden AVStream-Minidriver die KSALLOCATOR_FRAMING_EX Struktur, um allocator-Anforderungen anzugeben. Clients verwenden dann die KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX-Eigenschaft , um Rahmenanforderungen für einen Pin abzurufen. Weitere Informationen finden Sie unter AVStream Allocators .
Dieser Abschnitt enthält die folgenden zusätzlichen Informationen: