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 |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기