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 예외가 발생합니다. 이 풀 할당 오류가 발생하는지 제어하려면 드라이버는 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