共用方式為


在 KMDF 驅動程式中建立可分頁程序代碼

可分頁的程式碼 是程式碼未使用時,可以寫入電腦分頁檔案的代碼。 您可以將驅動程式的一部分設為可分頁,以減少其載入映射和初始載入時間,以及減少使用計算機有限非分頁記憶體集區之驅動程式程式代碼的數量。

若要協助您判斷可分頁程式代碼或資料是否適合您的驅動程式,請執行下列動作:

  1. 識別驅動程式中的可分頁區段。

    在需要使用時,才會將可分頁的區段載入記憶體中。 如需如何在驅動程式中建立可分頁區段的詳細資訊,請參閱 讓驅動程式可分頁

  2. 請確保分頁驅動程式代碼不會妨礙電腦從低功耗狀態快速恢復的能力。

    驅動程式提供的所有裝置物件回呼函式都會在 IRQL = PASSIVE_LEVEL呼叫,這可讓您將其代碼頁化(如 讓驅動程式可分頁中所述)。

    不過,如果框架在裝置離開低功耗狀態並返回其工作(D0)狀態時呼叫回呼函式,那麼不應該讓回呼函式的代碼具有可分頁屬性。

    如果這類程式代碼可分頁,則程式代碼可能會在計算機進入睡眠狀態之前寫入分頁檔案。 因此,電腦會更慢地喚醒,因為您的程式碼無法重載(因此您的裝置無法完全運作),直到分頁磁碟的電源恢復為止。

    因此,裝置返回其工作狀態 主題中所列的回呼函式不應可分頁。

  3. 判斷驅動程式是否需要在電源轉換期間存取驅動程式外部的可分頁數據,例如檔案、登錄或分頁集區。

    有關如何在電源過渡期間啟用和停用驅動程式存取可分頁數據的功能的資訊,請參考 WdfDeviceInitSetPowerPageableWdfDeviceInitSetPowerNotPageable

    如需有關如何判斷驅動程式處於不可分頁狀態的資訊,請參閱 WdfDevStateIsNP