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.
Die KsDeviceRegisterAdapterObject-Funktion registriert ein DMA-Adapterobjekt bei AVStream zum Ausführen von Punkt/Gather-DMA auf dem angegebenen Gerät. Alle für Win64 kompilierten Treiber sollten stattdessen IKsDeviceFunctions::RegisterAdapterObjectEx verwenden.
Syntax
void KsDeviceRegisterAdapterObject(
[in] PKSDEVICE Device,
[in] PADAPTER_OBJECT AdapterObject,
[in] ULONG MaxMappingsByteCount,
[in] ULONG MappingTableStride
);
Parameter
[in] Device
Ein Zeiger auf die KSDEVICE- Struktur, die das AVStream-Gerät darstellt, für das ein Adapterobjekt registriert werden soll.
[in] AdapterObject
Ein Zeiger auf die DMA_ADAPTER-Struktur, die von IoGetDmaAdapter zurückgegeben wird, die den DMA-Controller darstellt.
[in] MaxMappingsByteCount
Dieser Parameter gibt die maximale Anzahl von Bytes an, die das Gerät für eine einzelne Zuordnung verarbeiten kann. Ermöglicht AVStream, große Teile zusammenhängender physischer Speicher automatisch in mehrere Punkt-/Sammelelemente für Geräte aufzuteilen, die eine Größenbeschränkung für einzelne Zuordnungen in DMA-Übertragungen auferlegen. Unterbrechungen sind nicht garantiert auf Seitenbegrenzungen.
[in] MappingTableStride
Dieser Parameter gibt an, wie viele Byte jeder Eintrag in der Zuordnungstabelle benötigt. Dies muss mindestens Größe (KSMAPPING) sein und kann so groß wie nötig sein.
Zusätzlicher Speicherplatz kann vom Minidriver als Kontextinformationen verwendet werden.
Rückgabewert
Nichts
Bemerkungen
Ein Minidriver, der KsDeviceRegisterAdapterObject- aufruft, ist für den zuvoren Erwerb des Adapterobjekts über IoGetDmaAdapterverantwortlich.
Beachten Sie außerdem, dass der Minidriver vor der Verarbeitung von Daten KsDeviceRegisterAdapterObject- aufrufen muss, wenn der Minidriver das KSPIN_FLAG_GENERATE_MAPPINGS Flag für alle Pins auf jedem Filter auf dem Gerät angibt. Weitere Informationen zu diesem Kennzeichen finden Sie auf der Referenzseite für KSPIN_DESCRIPTOR_EX. Siehe auch AVStream DMA Services.
Wenn Sie MaxMappingByteCount auf eine physische Seite festlegen, werden Zuordnungen nicht garantiert auf einer einzelnen physischen Seite gespeichert. Wie in der obigen Memberbeschreibung erwähnt, garantiert das Festlegen MaxMappingsByteCount nicht, dass Unterbrechungen an Seitengrenzen auftreten. Wenn Sie Umbrüche für Seitenbegrenzungen benötigen, sollten Sie kein Limit für Zuordnungsgrößen angeben. Brechen Sie stattdessen die zurückgegebenen Punkt-/Sammelzuordnungen manuell in seitenbündige Blöcke auf.
Siehe auch Unterstützen von DMA in 64-Bit-AVStream-Treibern.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Header- | ks.h (enthalten Ks.h) |
| Library | Ks.lib |
| IRQL- | PASSIVE_LEVEL |