FsRtlRegisterFileSystemFilterCallbacks 함수(ntifs.h)

파일 시스템 필터 드라이버 및 파일 시스템은 FsRtlRegisterFileSystemFilterCallbacks 루틴을 호출하여 기본 파일 시스템이 특정 작업을 수행할 때 호출할 알림 콜백 루틴을 등록합니다.

구문

NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
  [in] _DRIVER_OBJECT       *FilterDriverObject,
  [in] PFS_FILTER_CALLBACKS Callbacks
);

매개 변수

[in] FilterDriverObject

필터 또는 파일 시스템 드라이버의 드라이버 개체에 대한 포인터입니다.

[in] Callbacks

호출자가 제공한 알림 콜백 루틴의 진입점을 포함하는 FS_FILTER_CALLBACKS 구조체에 대한 포인터입니다. 모든 콜백 진입점은 선택 사항이며 NULL로 설정할 수 있습니다.

반환 값

FsRtlRegisterFileSystemFilterCallbacks 루틴은 다음 상태 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_SUCCESS 콜백 루틴이 성공적으로 등록되었습니다.
STATUS_INSUFFICIENT_RESOURCES 콜백 정보를 저장하기 위해 메모리를 할당할 때 FsRtlRegisterFileSystemFilterCallbacks에서 풀 할당 오류가 발생했습니다.
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY FsRtlRegisterFileSystemFilterCallbacks 가 FsFilter 작업을 성공적으로 완료했습니다.
STATUS_FILE_LOCKED_WITH_ONLY_READERS 파일이 잠겨 있고 파일의 모든 사용자만 읽을 수 있습니다.
STATUS_FILE_LOCKED_WITH_WRITERS 파일이 잠겨 있고 파일의 한 명 이상의 사용자가 쓸 수 있습니다.
STATUS_INVALID_PARAMETER 매개 변수 중 하나가 잘못되었습니다.

설명

파일 시스템 및 파일 시스템 필터 드라이버는 드라이버의 DriverEntry 루틴에서 FsRtlRegisterFileSystemFilterCallbacks를 호출해야 합니다.

FsRtlRegisterFileSystemFilterCallbacks 는 특정 파일 작업에 대한 요청이 기본 파일 시스템으로 전송될 때 호출할 콜백 매개 변수에 지정된 알림 콜백 루틴을 등록합니다.

파일 시스템은 FsRtlRegisterFileSystemFilterCallbacks를 호출하여 사용되지 않는 AcquireFileForNtCreateSection을 사용하는 대신 FS_FILTER_CALLBACKS 구조체의 PreAcquireForSectionSynchronization 콜백 멤버를 설정합니다.

FsRtlRegisterFileSystemFilterCallbacks에 의해 등록된 콜백 루틴은 사용되지 않으며 파일 시스템 필터 드라이버에서 사용해서는 안 되는 다음과 같은 빠른 I/O 콜백 루틴을 대체합니다.

  • AcquireForCcFlush
  • AcquireFileForNtCreateSection
  • AcquireForModWrite
  • ReleaseForCcFlush
  • ReleaseFileForNtCreateSection
  • ReleaseForModWrite

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

FS_FILTER_CALLBACKS