IoRegisterFsRegistrationChange 함수(ntifs.h)
IoRegisterFsRegistrationChange 루틴은 파일 시스템이 자신을 활성 파일 시스템으로 등록하거나 등록 취소할 때마다 호출할 파일 시스템 필터 드라이버의 알림 루틴을 등록합니다.
구문
NTSTATUS IoRegisterFsRegistrationChange(
[in] PDRIVER_OBJECT DriverObject,
[in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);
매개 변수
[in] DriverObject
FS 필터 드라이버의 드라이버 개체에 대한 포인터입니다.
[in] DriverNotificationRoutine
파일 시스템이 자신을 등록하거나 등록 취소할 때 호출하는 PDRIVER_FS_NOTIFICATION 루틴에 대한 포인터입니다.
반환 값
IoRegisterFsRegistrationChange 는 다음 중 하나와 같은 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | 알림 루틴이 성공적으로 등록되었습니다. |
STATUS_INSUFFICIENT_RESOURCES | 알림 루틴에 대해 알림 패킷을 할당할 수 없습니다. |
STATUS_DEVICE_ALREADY_ATTACHED | 설명 부분을 참조하세요. |
STATUS_NOT_SUPPORTED | 레거시 FS 필터 드라이버는 시스템 정책에 의해 차단됩니다. 자세한 내용은 레거시 파일 시스템 필터 드라이버 차단 을 참조하세요. |
설명
IoRegisterFsRegistrationChange 는 파일 시스템이 IoRegisterFileSystem 또는 IoUnregisterFileSystem 을 호출할 때마다 알림을 받을 FS 필터 드라이버를 등록 합니다.
이러한 알림 수신을 중지하려면 필터 드라이버가 IoUnregisterFsRegistrationChange를 호출해야 합니다.
FS 필터 드라이버가 IoRegisterFsRegistrationChange를 호출하면 OS는 현재 등록된 모든 파일 시스템에 대해 해당 알림 루틴을 즉시 호출합니다. 등록된 파일 시스템은 이미 IoRegisterFileSystem 을 성공적으로 호출했지만 아직 IoUnregisterFileSystem을 호출하지 않은 시스템입니다. IoRegisterFsRegistrationChange 가 반환되기 전에 호출자의 알림 루틴을 호출할 수 있으므로 필터 드라이버는 이러한 알림을 처리하기 위해 필요한 데이터 구조를 만든 후에야 이 루틴을 호출할 수 있습니다.
IoRegisterFsRegistrationChange 는 RAW 디바이스를 무시합니다. 이름으로 RAW 파일 시스템에 연결하는 방법에 대한 자세한 내용은 필터 디바이스 개체를 대상 디바이스 개체에 연결을 참조하세요.
IoRegisterFsRegistrationChange 는 필터 드라이버의 드라이버 개체에 대한 참조 수를 증가합니다.
IoRegisterFsRegistrationChange 는 다음 조건이 충족되면 STATUS_DEVICE_ALREADY_ATTACHED 반환합니다.
- FS 필터 드라이버는 그 사이에 IoUnregisterFsRegistrationChange 를 호출하지 않고 연속해서 IoRegisterFsRegistrationChange 를 두 번 호출했습니다.
- 해당 FS 필터 드라이버는 IoRegisterFsRegistrationChange에 대한 이전 호출에서 등록한 DriverObject 및 DriverNotificationRoutine에 대해 동일한 값을 전달했습니다.
- 첫 번째 호출 이후 다른 필터 드라이버가 등록되지 않았습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기