Delen via


Lineaire apertuurruimte-segmenten

Een lineair aperture-ruimtesegment is vergelijkbaar met een lineair geheugenruimtesegment. Het segment van de aperture-ruimte is echter alleen een adresruimte en kan geen bits bevatten.

Als u de bits wilt bewaren, moeten systeemgeheugenpagina's worden toegewezen en moet het adresruimtebereik worden omgeleid om naar deze pagina's te verwijzen. Het minipoortstuurprogramma voor de kernelmodus (KMD) moet de functie DxgkDdiBuildPagingBuffer implementeren voor DXGK_OPERATION_MAP_APERTURE_SEGMENT- en DXGK_OPERATION_UNMAP_APERTURE_SEGMENT-bewerkingstypen om de omleiding te verwerken en moet deze functie beschikbaar maken zoals beschreven in DriverEntry of Display Miniport Driver. Dxgkrnl roept DxgkDdiBuildPagingBuffer aan met het adresruimtebereik dat moet worden omgeleid en de MDL die verwijst naar de fysieke systeemgeheugenpagina's die zijn toegewezen.

De KMD bereikt doorgaans de omleiding van het adresruimtebereik door een paginatabel te programmeren, die onbekend is bij de videogeheugenbeheerder (VidMm).

Het stuurprogramma moet de vlag Aperture-bitveld instellen in het lid Vlaggen van de DXGK_SEGMENTDESCRIPTOR structuur om een lineair aperture-ruimtesegment op te geven. Het stuurprogramma kan ook de volgende bitveldvlaggen instellen om andere segmentondersteuning aan te geven:

  • CpuVisible om aan te geven dat het segment toegankelijk is voor CPU.

  • CacheCoherent om aan te geven dat het segment de cacheherentie onderhoudt met de CPU voor de pagina's waarnaar het segment wordt omgeleid.

In de volgende afbeelding ziet u een visuele weergave van een lineair aperture-ruimtesegment.

Diagram met een lineair aperture-ruimtesegment.