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-excepttry-finally 語句中包裝對 FsRtlPostStackOverflow 的呼叫。

規格需求

需求
最低支援的用戶端 Windows 2000
目標平台 Universal
標頭 ntifs.h (包括 FltKernel.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent