共用方式為


APC 的類型

非同步過程呼叫 (APC) 是非同步執行的函數。 APC 類似於 延遲程式呼叫 (DPC) ,但與 DPC 不同,APC 會在特定執行程的內容中執行。 驅動程式 (檔案系統和檔案系統篩選驅動程式除外) 不會直接使用 APC,但作業系統的其他部分會使用,因此您必須瞭解 APC 的運作方式。

Windows 作業系統使用四種 APC:

  • 特殊的使用者模式 APC 會嚴格在使用者模式中執行,而且一律執行,即使目標執行緒未處於可警示等候狀態也一樣。 如需特殊使用者模式 APC 的其他資訊,請參閱 QueueUserAPC2

  • 一般使用者模式 APC 只能在使用者模式中執行,而且只有在目標執行緒處於可警示等候狀態時才會執行。 作業系統會使用一般使用者 APC 來實作重 疊 I/OQueueUserApc Win32 常式等機制。

  • 一般核心 APC 會在核心模式中執行,且 IRQL 等於 PASSIVE_LEVEL。 一般核心模式 APC 搶先處理所有用戶模式代碼,包括用戶 APC。 一般核心 APC 通常由檔案系統和檔案系統篩選驅動程式使用。

  • 特殊核心 APC 在 IRQL = APC_LEVEL 時以核心模式運行。 特殊的核心 APC 會搶先執行使用者模式代碼和在 IRQL = PASSIVE_LEVEL 執行的核心模式代碼,其中包括使用者 APC 和一般核心 APC。 作業系統會使用特殊核心 APC 來處理 I/O 要求完成等作業。

如需從最低優先順序到最高優先順序的 IRQL 清單,請參閱 管理硬體優先順序