FsRtlPostStackOverflow 函式 (ntifs.h)
FsRtlPostStackOverflow 例程會將堆疊溢位專案張貼至堆疊溢位線程。
語法
void FsRtlPostStackOverflow(
[in] PVOID Context,
[in] PKEVENT Event,
[in] PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine
);
參數
[in] Context
要傳遞至堆疊溢位回呼例程的內容指標。
[in] Event
要傳遞至堆疊溢位回呼例程之呼叫端配置的通知事件的指標。 必須已藉由呼叫 KeInitializeEvent 來初始化為非ignaled。
[in] StackOverflowRoutine
處理溢位線程中要求時要叫用之回呼例程的指標。
傳回值
無
備註
文件系統通常會在檔案 I/O 作業期間呼叫 FsRtlPostStackOverflow ,而 IoGetRemainingStackSize 傳回的剩餘堆疊空間數量低於文件系統的堆疊溢位閾值。 FsRtlPostStackOverflow 會將 I/O 要求張貼至特殊的堆棧溢位工作佇列。 當 I/O 作業完成時,呼叫端的 [事件 ] 會設定為已發出訊號的狀態。
文件系統篩選驅動程式應該使用 IoQueueWorkItem 而非 FsRtlPostStackOverflow,因為 IoQueueWorkItem 可確保與指定工作專案相關聯的裝置物件可用於處理工作專案。
如果集區配置失敗, FsRtlPostStackOverflow 會引發STATUS_INSUFFICIENT_RESOURCES例外狀況。 若要控制此集區配置失敗的情況,驅動程式應該在 try-except 或 try-finally 語句中包裝對 FsRtlPostStackOverflow 的呼叫。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包括 FltKernel.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |