系統提供數個標準事件物件。 驅動程式可以使用這些事件物件,在發生特定條件時收到系統通知。 下列清單包含標準事件物件:
\KernelObjects\HighMemoryCondition
每當可用實體記憶體數量超過系統定義的數量時,就會設定此事件。 驅動程式可以等候此事件設定為主動配置記憶體的訊號。
\KernelObjects\LowMemoryCondition
每當可用實體記憶體數量低於系統定義的數量時,就會設定此事件。 已配置大量記憶體的驅動程式可以等候此事件設定為釋放未使用記憶體的訊號。
針對 Microsoft Windows Server 2003 和更新版本的 Windows,驅動程式也可以使用下列其他標準事件物件:
\KernelObjects\HighPagedPoolCondition(高頁面池條件)
每當可用分頁集區數量超過系統定義的數量時,就會設定此事件。 驅動程式可以等候此事件設定為訊號,以主動從分頁集區配置記憶體。
\KernelObjects\LowPagedPoolCondition
每當分頁池的可用數量低於系統定義的數量時,便會設定此事件。 已配置大量記憶體的驅動程式可以等候此事件設定為訊號,以從分頁集區釋放未使用的記憶體。
\KernelObjects\HighNonPagedPoolCondition
每當可用非分頁集區數量超過系統預設的數量時,就會設定此事件。 驅動程式可以等候此事件設定為訊號,以主動從非分頁集區配置記憶體。
\KernelObjects\LowNonPagedPoolCondition
每當可用的非分頁集區數量低於系統定義的數量時,就會設定此事件。 已配置大量記憶體的驅動程式可以等候此事件設定為訊號,以從非分頁集區釋放未使用的記憶體。
針對 Windows Vista 和更新版本的 Windows,驅動程式也可以使用下列其他標準事件物件:
\KernelObjects\LowCommitCondition
當作業系統的 認可費用 相對於 目前的認可限制較低時,會設定此事件。 換句話說,記憶體使用率較低,且實體記憶體或分頁檔案中有大量可用空間。
\KernelObjects\HighCommitCondition
當作業系統的認可費用相對於目前的認可限制較高時,會設定此事件。 換句話說,記憶體使用量很高,且實體記憶體或分頁檔案中可用的空間非常少,但作業系統可能能夠增加其分頁檔案的大小。
\KernelObjects\MaximumCommitCondition
當作業系統的提交值接近 最大提交限制時,會觸發此事件。 換句話說,記憶體使用量非常高,實體記憶體或分頁檔案中可用的空間非常小,而且作業系統無法增加其分頁檔案的大小。 (如果存在足夠的儲存體資源,系統管理員一律可以增加分頁檔案的大小或數目,而不需要重新啟動電腦。
這些事件中的每一個都是通知事件。 只要觸發條件保持為 true,它們就會保持設定狀態。
若要開啟任何這些事件的控制碼,請使用 IoCreateNotificationEvent 常式。 等候任何這些事件的驅動程式應該建立專用線程來執行等候。 執行程可以呼叫 KeWaitForSingleObject 或 KeWaitForMultipleObjects,等候一或多個這些事件。