Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System udostępnia kilka standardowych obiektów zdarzeń. Sterowniki mogą używać tych obiektów zdarzeń, aby otrzymywać powiadomienia przez system za każdym razem, gdy wystąpią pewne warunki. Poniższa lista zawiera standardowe obiekty zdarzeń:
\KernelObjects\HighMemoryCondition
To zdarzenie jest ustawiane za każdym razem, gdy ilość wolnej pamięci fizycznej przekracza wartość zdefiniowaną przez system. Sterowniki mogą poczekać, aż to zdarzenie zostanie ustawione jako sygnał do agresywnego przydzielania pamięci.
\KernelObjects\LowMemoryCondition
To zdarzenie jest ustawiane za każdym razem, gdy ilość wolnej pamięci fizycznej spadnie poniżej zdefiniowanej przez system ilości. Sterowniki, które przydzieliły duże ilości pamięci, mogą poczekać na ustawienie tego zdarzenia jako sygnału, aby zwolnić nieużywaną pamięć.
W przypadku systemu Microsoft Windows Server 2003 i nowszych wersji systemu Windows sterowniki mogą również używać następujących dodatkowych standardowych obiektów zdarzeń:
\KernelObjects\HighPagedPoolCondition
To zdarzenie jest ustawiane za każdym razem, gdy wielkość wolnej puli stronicowanej pamięci przekracza wartość zdefiniowaną przez system. Sterowniki mogą poczekać, aż to zdarzenie zostanie ustawione jako sygnał, aby szybko przydzielić pamięć ze stronicowanej puli.
\KernelObjects\LowPagedPoolCondition
To zdarzenie jest ustawiane za każdym razem, gdy ilość wolnej puli stronicowanej spadnie poniżej wartości ustawionej przez system. Sterowniki, które przydzieliły duże ilości pamięci, mogą czekać na ustawienie tego zdarzenia jako sygnału do zwolnienia nieużywanej pamięci z puli stronicowanej.
\KernelObjects\HighNonPagedPoolCondition
Zdarzenie to jest ustawiane za każdym razem, gdy ilość wolnej puli niestronicowanej przekracza wartość określoną przez system. Sterowniki mogą poczekać, aż to zdarzenie zostanie ustawione, co posłuży jako sygnał do agresywnego przydzielenia pamięci z puli niestronicowanej.
\KernelObjects\LowNonPagedPoolCondition
To zdarzenie jest ustawiane za każdym razem, gdy ilość bezpłatnej puli niestronicowanej spadnie poniżej kwoty zdefiniowanej przez system. Sterowniki, które przydzieliły duże ilości pamięci, mogą poczekać na ustawienie tego zdarzenia jako sygnału, aby zwolnić nieużywaną pamięć z puli niestronicowanej.
W przypadku systemu Windows Vista i nowszych wersji systemu Windows sterowniki mogą również używać następujących dodatkowych standardowych obiektów zdarzeń:
\KernelObjects\LowCommitCondition
To zdarzenie jest ustawiane, gdy opłata za zatwierdzenie systemu operacyjnego jest niska względem bieżącego limitu zatwierdzeń. Innymi słowy, użycie pamięci jest niskie, a dużo miejsca jest dostępne w pamięci fizycznej lub plikach stronicowania.
\KernelObjects\HighCommitCondition
To zdarzenie jest ustawiane, gdy opłata za zatwierdzenie systemu operacyjnego jest wysoka względem bieżącego limitu zatwierdzeń. Innymi słowy, użycie pamięci jest wysokie i bardzo mało miejsca jest dostępne w pamięci fizycznej lub plikach stronicowania, ale system operacyjny może zwiększyć rozmiar plików stronicowania.
\KernelObjects\MaximumCommitCondition
To zdarzenie jest ustawiane, gdy opłata za zatwierdzenie systemu operacyjnego zbliża się do maksymalnego limitu zatwierdzeń. Innymi słowy, użycie pamięci jest bardzo wysokie, bardzo mało miejsca jest dostępne w pamięci fizycznej lub plikach stronicowania, a system operacyjny nie może zwiększyć rozmiaru plików stronicowania. (Administrator systemowy zawsze może powiększyć rozmiar lub liczbę plików stronicowania bez ponownego uruchamiania komputera, jeśli istnieją wystarczające zasoby dyskowe).
Każde z tych zdarzeń to zdarzenia powiadomień. Pozostają ustawione tak długo, jak warunek wyzwalania pozostaje spełniony.
Aby otworzyć dojście do dowolnego z tych zdarzeń, użyj procedury IoCreateNotificationEvent . Sterownik, który czeka na dowolne z tych zdarzeń, powinien utworzyć dedykowany wątek do oczekiwania. Wątek może czekać na jedno lub więcej z tych zdarzeń, wywołując KeWaitForSingleObject lub KeWaitForMultipleObjects.