Aracılığıyla paylaş


Standart Olay Nesneleri

Sistem birkaç standart olay nesnesi sağlar. Sürücüler, belirli koşullar oluştuğunda sistem tarafından bildirim almak için bu olay nesnelerini kullanabilir. Aşağıdaki liste standart olay nesnelerini içerir:

\KernelObjects\HighMemoryCondition
Bu olay, boş fiziksel bellek miktarı sistem tanımlı bir miktarı aştığında ayarlanır. Sürücüler, belleği agresif bir şekilde ayırmak için bu olayın sinyal olarak ayarlanmasını bekleyebilir.

\KernelObjects\LowMemoryCondition
Bu olay, boş fiziksel bellek miktarı sistem tanımlı bir miktarın altına düştüğünde ayarlanır. Büyük miktarda bellek ayırmış sürücüler, kullanılmayan belleği boşaltmak için bu olayın sinyal olarak ayarlanmasını bekleyebilir.

Windows'un Microsoft Windows Server 2003 ve sonraki sürümleri için sürücüler aşağıdaki ek standart olay nesnelerini de kullanabilir:

\KernelObjects\HighPagedPoolCondition
Bu olay, boş disk belleği havuzu miktarı sistem tanımlı bir miktarı aştığında ayarlanır. Sürücüler, disk belleği havuzundaki belleği agresif bir şekilde ayırmak için bu olayın sinyal olarak ayarlanmasını bekleyebilir.

\KernelObjects\LowPagedPoolCondition
Bu olay, serbest sayfalı bellek havuzu miktarı sistem tarafından tanımlanan bir miktarın altına düştüğünde tetiklenir. Büyük miktarda bellek ayırmış sürücüler, disk belleği havuzundaki kullanılmayan belleği boşaltmak için bu olayın sinyal olarak ayarlanmasını bekleyebilir.

\KernelObjects\HighNonPagedPoolCondition
Bu olay, sayfasız boş havuz miktarı sistem tarafından belirlenen bir miktarı aştığında ayarlanır. Sürücüler, sayfasız havuzdan agresif bir şekilde bellek ayırmak sinyali olarak bu olayın ayarlanmasını bekleyebilir.

\KernelObjects\LowNonPagedPoolCondition
Bu olay, serbest nonpaged havuz miktarı sistem tanımlı bir miktarın altına düştüğünde oluşur. Büyük miktarda bellek ayırmış sürücüler, kullanılmayan belleği sayfasız havuzdan serbest bırakmak için bu olayın sinyal olarak ayarlanmasını bekleyebilir.

Windows Vista ve windows'un sonraki sürümleri için sürücüler aşağıdaki ek standart olay nesnelerini de kullanabilir:

\KernelObjects\LowCommitCondition
Bu olay, işletim sisteminin işleme ücretigeçerli işleme sınırına göre düşük olduğunda ayarlanır. Başka bir deyişle, bellek kullanımı düşüktür ve fiziksel bellek veya disk belleği dosyalarında çok fazla alan vardır.

\KernelObjects\HighCommitCondition
Bu olay, işletim sisteminin işleme ücreti geçerli işleme sınırına göre yüksek olduğunda ayarlanır. Başka bir deyişle, bellek kullanımı yüksektir ve fiziksel bellek veya disk belleği dosyalarında çok az alan vardır, ancak işletim sistemi disk belleği dosyalarının boyutunu artırabilir.

\KernelObjects\MaximumCommitCondition
bu olay, işletim sisteminin işleme ücreti maksimum işleme sınırına yaklaştığında ayarlanır. Başka bir deyişle, bellek kullanımı çok yüksektir, fiziksel bellek veya disk belleği dosyalarında çok az alan vardır ve işletim sistemi disk belleği dosyalarının boyutunu artıramaz. (Sistem yöneticisi, yeterli depolama kaynağı varsa bilgisayarı yeniden başlatmadan disk belleği dosyalarının boyutunu veya sayısını her zaman artırabilir.)

Bu olayların her biri bildirim olaylarıdır. Tetikleyici koşulu doğru kaldığı sürece bunlar ayarlanmış olarak kalır.

Bu olaylardan herhangi birine tanıtıcı açmak için IoCreateNotificationEvent yordamını kullanın. Bu olaylardan herhangi birini bekleyen bir sürücü, bekleme işlemi için özel bir iş parçacığı oluşturmalıdır. İş parçacığı , KeWaitForSingleObject veya KeWaitForMultipleObjects çağırarak bu olaylardan birini veya daha fazlasını bekleyebilir.