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

オーバーフロー スレッドで要求を処理するときに呼び出されるコールバック ルーチンへのポインター。

戻り値

何一つ

備考

通常、ファイル システムは、IoGetRemainingStackSize によって返される残りのスタック領域の量が、操作のファイル システムのスタック オーバーフローしきい値を下回ると、ファイル I/O 操作中に fsRtlPostStackOverflow を呼び 出します。 FsRtlPostStackOverflow は、特殊なスタック オーバーフロー作業キューに I/O 要求をポストします。 I/O 操作が完了すると、呼び出し元の イベント がシグナル状態に設定されます。

ファイル システム フィルター ドライバーでは、IoQueueWorkItemではなく、IoQueueWorkItem 使用する必要があります。これは、IoQueueWorkItem 、指定された作業項目に関連付けられているデバイス オブジェクトが作業項目の処理に使用できるようにするためです。

プールの割り当てエラーが発生した場合、FsRtlPostStackOverflow STATUS_INSUFFICIENT_RESOURCES例外が発生します。 このプール割り当てエラーが発生したかどうかを制御するには、ドライバーは、try-except または try-finally ステートメントで FsRtlPostStackOverflow の呼び出し ラップする必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (FltKernel.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

関連項目

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem の

KeInitializeEvent の