共用方式為


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-excepttry-finally 語句中。

要求

要求 價值
最低支援的用戶端 Windows 2000
目標平臺 普遍
標頭 ntifs.h (include FltKernel.h, Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent