Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Systemet tillhandahåller flera standardhändelseobjekt. Drivrutiner kan använda dessa händelseobjekt för att meddelas av systemet när vissa villkor inträffar. Följande lista innehåller standardhändelseobjekten:
\KernelObjects\HighMemoryCondition
Den här händelsen anges när mängden ledigt fysiskt minne överskrider en systemdefinierad mängd. Drivrutiner kan vänta på att denna händelse ställs som ett tecken på att minne kan allokeras aggressivt.
\KernelObjects\LowMemoryCondition
Den här händelsen anges när mängden ledigt fysiskt minne understiger en systemdefinierad mängd. Drivrutiner som har allokerat stora mängder minne kan vänta tills händelsen har angetts som en signal för att frigöra oanvänt minne.
För Microsoft Windows Server 2003 och senare versioner av Windows kan drivrutiner också använda följande ytterligare standardhändelseobjekt:
\KernelObjects\HighPagedPoolCondition
Den här händelsen initieras när beloppet av ledig sidpool överskrider en systemdefinierad kvantitet. Drivrutiner kan vänta tills den här händelsen har angetts som en signal för att aggressivt allokera minne från den sidindelade poolen.
\KernelObjects\LowPagedPoolCondition
Den här händelsen anges när mängden kostnadsfria sidpooler understiger ett systemdefinierat belopp. Drivrutiner som har allokerat stora mängder minne kan vänta tills den här händelsen har setts som en signal för att frigöra oanvänt minne från den paginerade poolen.
\KernelObjects\HighNonPagedPoolCondition
Den här händelsen anges när mängden kostnadsfria icke-sidsidiga pooler överskrider en systemdefinierad mängd. Drivrutiner kan vänta tills den här händelsen har angetts som en signal för att aggressivt allokera minne från icke-sidsidig pool.
\KernelObjects\LowNonPagedPoolCondition
Den här händelsen anges när mängden av den fria icke-sidindelade poolen faller under en systemdefinierad nivå. Drivrutiner som har allokerat stora mängder minne kan vänta tills den här händelsen har angetts som en signal för att frigöra minne som inte används från den icke-sidindelade poolen.
För Windows Vista och senare versioner av Windows kan drivrutiner också använda följande ytterligare standardhändelseobjekt:
\KernelObjects\LowCommitCondition
Den här händelsen anges när operativsystemets incheckningsavgift är låg i förhållande till den aktuella incheckningsgränsen. Minnesanvändningen är med andra ord låg och det finns mycket utrymme i det fysiska minnet eller på växlingsfiler.
\KernelObjects\HighCommitCondition
Den här händelsen utlöses när operativsystemets åtagendeförbrukning är hög i förhållande till den aktuella åtagandegränsen. Med andra ord är minnesanvändningen hög och det finns mycket lite utrymme i fysiskt minne eller växlingsfiler, men operativsystemet kanske kan öka storleken på sina växlingsfiler.
\KernelObjects\MaximumCommitCondition
Den här händelsen anges när operativsystemets minnesförbrukning ligger nära den maximala gränsen för minnesförbrukning. Med andra ord är minnesanvändningen mycket hög, mycket lite utrymme är tillgängligt i fysiskt minne eller växlingsfiler, och operativsystemet kan inte öka storleken på sina växlingsfiler. (En systemadministratör kan alltid öka storleken eller antalet växlingsfiler, utan att starta om datorn, om det finns tillräckligt med lagringsresurser.)
Var och en av dessa händelser är meddelandehändelser. De förblir inställda så länge utlösande villkoret förblir sant.
Om du vill öppna ett handtag för någon av dessa händelser använder du rutinen IoCreateNotificationEvent . En drivrutin som väntar på någon av dessa händelser bör skapa en dedikerad tråd för att vänta. Tråden kan vänta på en eller flera av dessa händelser genom att anropa antingen KeWaitForSingleObject eller KeWaitForMultipleObjects.