Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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: