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 lineares Blendenraumsegment ähnelt einem linearen Speicherraumsegment. Das Blendenraumsegment ist jedoch nur ein Adressraum und kann keine Bits enthalten.
Um die Bits zu speichern, müssen Systemspeicherseiten zugewiesen werden, und der Adressbereich muss umgeleitet werden, um auf diese Seiten zu verweisen. Der Kernelmodus-Miniporttreiber (KMD) muss die DxgkDdiBuildPagingBuffer-Funktion für DXGK_OPERATION_MAP_APERTURE_SEGMENT und DXGK_OPERATION_UNMAP_APERTURE_SEGMENT Vorgangstypen implementieren, um die Umleitung zu verarbeiten, und diese Funktion muss verfügbar gemacht werden, wie in DriverEntry des Display Miniport-Treibers beschrieben. Dxgkrnl ruft DxgkDdiBuildPagingBuffer mit dem Adressraumbereich auf, der umgeleitet werden soll, und die MDL, die auf die zugeordneten physischen Systemspeicherseiten verweist.
Die KMD führt in der Regel die Umleitung des Adressbereichs durch Programmieren einer Seitentabelle durch, die dem Videospeicher-Manager (VidMm) unbekannt ist.
Der Treiber muss die Aperture-Bitfeld-Flag im Flags-Element der DXGK_SEGMENTDESCRIPTOR-Struktur festlegen, um ein lineares Aperture-Raumsegment anzugeben. Der Treiber kann auch die folgenden Bitfeldkennzeichnungen festlegen, um andere Segmentunterstützung anzugeben:
CpuVisible , um anzugeben, dass das Segment CPU-zugänglich ist.
CacheCoherent , um anzugeben, dass das Segment die Cachekoherität mit der CPU für die Seiten verwaltet, an die das Segment umleitet.
Die folgende Abbildung zeigt eine visuelle Darstellung eines linearen Blendenraumsegments.