Delen via


Geheugensecties beheren

Een driver kan een sectieobject maken door de functie ZwCreateSectionaan te roepen, wat een verwijzing naar het sectieobject retourneert. Gebruik de parameter FileHandle om het ondersteunende bestand op te geven of NULL als de sectie niet aan een bestand is gekoppeld. Extra handvatten voor het sectieobject kunnen worden geopend met behulp van ZwOpenSection.

Als u de gegevens die deel uitmaken van een sectieobject toegankelijk wilt maken binnen de adresruimte van het huidige proces, moet een weergave van de sectie worden toegewezen. Stuurprogramma's kunnen een weergave van een sectie toewijzen aan de adresruimte van het huidige proces met behulp van de ZwMapViewOfSection routine. De parameter SectionOffset geeft de byte-offset aan waar de weergave in de sectie begint en de ViewSize geeft het aantal bytes aan dat moet worden toegewezen.

De parameter Protect specificeert de toegestane bewerkingen in de weergave. Geef PAGE_READONLY op voor een alleen-lezen weergave, PAGE_READWRITE voor een lees/schrijf-weergave en PAGE_WRITECOPY voor een kopieer-bij-schrijven weergave.

Er wordt geen fysiek geheugen toegewezen voor een weergave totdat het bereik van het virtuele geheugen wordt geopend. De eerste toegang tot het geheugenbereik veroorzaakt een paginafout; het systeem wijst vervolgens een pagina toe om die geheugenlocatie te bewaren. Als de sectie bestand-ondersteund is, leest het systeem de inhoud van het bestand dat overeenkomt met die pagina en kopieert het naar het geheugen. (Houd er rekening mee dat ongebruikte sectieobjecten en weergaven wel een gepaginade en niet-gepaginade pool gebruiken voor boekhouddoeleinden.)

Nadat een stuurprogramma een weergave niet langer gebruikt, maakt het de koppeling ongedaan door een aanroep te doen naar ZwUnmapViewOfSection. Nadat het stuurprogramma het sectieobject niet meer gebruikt, wordt de sectiegreep gesloten met ZwClose-. Houd er rekening mee dat nadat de weergave is toegewezen en er geen andere weergaven worden toegewezen, het veilig is om onmiddellijk ZwClose- op de sectiegreep aan te roepen; de weergave (en het sectieobject) blijven bestaan totdat de weergave niet is toegewezen. Dit is de aanbevolen procedure omdat het het risico vermindert dat de bestuurder de ingang niet sluit.