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