資訊: Windows 98 PageFile_Call_Async_Manager 服務

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

223294
本文已封存。本文係以「現狀」提供且不會再更新。
結論
Windows 98 加入新功能 PageFile_Call_Async_Manager,允許記憶體管理員以非同步的方式寫出頁面檔案 (交換檔) 緩衝區時 VFAT 檔案系統活動不忙碌的時間期間。

這項功能會影響 VxD 監視和/或否則攔截分頁檔 VxD 函式的行為。如果您 VxD 攔截 PageFile_Read_Or_Write,及探索您沒有看到所有頁面的檔案傳輸使用 Windows 98 時,這篇文章是適用於您。
其他相關資訊
您可以停用此功能造成系統在整體系統效能的一些代價 Windows 95 不像的行為。新增下列項目在其 [386Enh] 區段中將 System.ini 檔案:
[386Enh] ConservativeSwapfileUsage=1				
當上述的布林值設為 TRUE,如所示時,PageFile_Call_Async_Manager 永遠都不會呼叫。如果不存在這個項目是從 System.ini,ConservativeSwapfileUsage 預設值會是 Windows 95 的 1 和 0 (零) 為 Windows 98。

當 Windows 98 執行非同步寫入交換檔時,藉由攔截 PageFile_Read_Or_Write() 不會擷取此活動。由 VFAT 通知分頁檔 VFAT 是非同步交換檔案活動的管理員呼叫 PageFile_Set_Async_Manager 服務 ; 在實際上這使得的 PageFile_Call_Async_Manager 服務變成由 VFAT 內部常式來處理。

記憶體管理員會呼叫提供與一個檔案系統閒置例行 mmFsIdle (記憶體管理員 」 中) 的指標服務的 PageFile_Call_Async_Manager。VFAT 稍後這個函式時,便會呼叫 VFAT 完全閒置 (所有擱置的 VFAT 寫入已寫入),所以記憶體管理員可以執行非同步寫入:
ULONG INTERNAL mmFsIdle(void);				
PageFile_Call_Async_Manager 在回報傳回記憶體管理員會使用執行 (非同步) 的函式的指標將寫入分頁檔:
extern int (CDECL *pfnAsyncPageOut)(PVOID pvBuffer, ULONG bFileOffset);				
這個函式實際上是內部 VFAT (WriteAsyncSwapPage) 將一頁複製到其快取緩衝區,並將其寫入。mmFsIdle 使用會產生 pfnAsyncPageOut 呼叫 (的實際呼叫內部 VFAT 常式) 的演算法。

以下是如何記憶體管理員本身以登錄 VFAT:
mov      eax, offset32 _mmFsIdle@0   ; Our idle callback.VxDCall  PageFile_Call_Async_Manager ; NOTE: the manager is VFAT.jc       DICDoneP                    ; Failed.mov     _pfnAsyncPageOut, eax				

警告:本文已自動翻譯

內容

文章識別碼:223294 - 最後檢閱時間:01/09/2015 18:44:35 - 修訂: 1.3

  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 Driver Development Kit (DDK)
  • kbnosurvey kbarchive kbmt kbinfo kbkmode KB223294 KbMtzh
意見反應