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 |