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

요구 사항

   
지원되는 최소 클라이언트 이 루틴은 Microsoft Windows XP 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

참고 항목

FS_FILTER_CALLBACKS