FsRtlNotifyVolumeEvent 함수(ntifs.h)
FsRtlNotifyVolumeEvent 루틴은 등록된 애플리케이션에 볼륨 이벤트가 발생하고 있음을 알릴 수 있습니다.
통사론
NTSTATUS FsRtlNotifyVolumeEvent(
[in] PFILE_OBJECT FileObject,
[in] ULONG EventCode
);
매개 변수
[in] FileObject
지정된 볼륨의 파일 개체에 대한 포인터입니다.
[in] EventCode
발생하는 이벤트에 대한 이벤트 코드를 지정합니다. 이 코드는 다음 값 중 하나일 수 있습니다.
이벤트 코드 | PnP 이벤트 GUID | 의미 |
---|---|---|
FSRTL_VOLUME_BACKGROUND_FORMAT | GUID_IO_VOLUME_BACKGROUND_FORMAT | 백그라운드 형식 작업이 시작되었습니다. |
FSRTL_VOLUME_CHANGE_SIZE | GUID_IO_VOLUME_CHANGE_SIZE | 볼륨의 파일 시스템 크기가 변경되었습니다. Windows Server 2003 및 Windows XP/2000의 경우 이 값은 지원되지 않습니다. |
FSRTL_VOLUME_DISMOUNT | GUID_IO_VOLUME_DISMOUNT | 볼륨이 분리되고 있습니다. |
FSRTL_VOLUME_DISMOUNT_FAILED | GUID_IO_VOLUME_DISMOUNT_FAILED | 볼륨 분리에 실패했습니다. |
FSRTL_VOLUME_FORCED_CLOSED | GUID_IO_VOLUME_FORCE_CLOSED | 볼륨이 파일 시스템에서 읽기 전용으로 만들어졌습니다. 이 플래그는 Windows Vista 이상에서 사용할 수 있습니다. |
FSRTL_VOLUME_INFO_MAKE_COMPAT | GUID_IO_VOLUME_INFO_MAKE_COMPAT | 볼륨 미디어가 제거되었지만 호환되지 않는 상태이며 다른 이동식 미디어 스토리지 디바이스에서 읽을 수 없을 수 있습니다. 이 플래그는 Windows Vista 이상에서 사용할 수 있습니다. |
FSRTL_VOLUME_LOCK | GUID_IO_VOLUME_LOCK | 볼륨이 잠기고 있습니다. |
FSRTL_VOLUME_LOCK_FAILED | GUID_IO_VOLUME_LOCK_FAILED | 볼륨 잠금이 실패했습니다. |
FSRTL_VOLUME_MOUNT | GUID_IO_VOLUME_MOUNT | 볼륨이 탑재되고 있습니다. |
FSRTL_VOLUME_NEEDS_CHKDSK | GUID_IO_VOLUME_NEED_CHKDSK | 볼륨에서 데이터 손상이 감지되었으며 Chkdsk를 실행하여 수정해야 합니다. 이 플래그는 Windows Vista 이상에서 사용할 수 있습니다. |
FSRTL_VOLUME_PREPARING_EJECT | GUID_IO_VOLUME_PREPARING_EJECT | 파일 시스템에서 디스크를 배출할 준비를 하고 있습니다. Windows Server 2003 및 Windows XP/2000의 경우 이 값은 지원되지 않습니다. |
FSRTL_VOLUME_UNLOCK | GUID_IO_VOLUME_UNLOCK | 볼륨이 잠금 해제되고 있습니다. |
FSRTL_VOLUME_WEARING_OUT | GUID_IO_VOLUME_WEARING_OUT | 볼륨 미디어가 착용하고 있습니다. 이 플래그는 Windows Vista 이상에서 사용할 수 있습니다. |
FSRTL_VOLUME_WORM_NEAR_FULL | GUID_IO_VOLUME_WORM_NEAR_FULL | 이 볼륨은 WORM(쓰기-한 번 읽기-다) 볼륨이며 거의 꽉 찼습니다. 이 플래그는 Windows Vista 이상에서 사용할 수 있습니다. |
반환 값
FsRtlNotifyVolumeEvent 알림의 상태를 반환합니다.
발언
파일 시스템은 FsRtlNotifyVolumeEvent 호출하여 등록된 모든 사용자 모드 애플리케이션에 볼륨 이벤트가 발생하고 있음을 알립니다.
PnP 이벤트 GUID 값은 Ioevent.h에 정의됩니다.
볼륨 이벤트 알림을 등록하려면 애플리케이션에서 Microsoft Win32 RegisterDeviceNotification 함수를 호출해야 합니다. 자세한 내용은 Microsoft Windows SDK 설명서의 디바이스 관리 섹션을 참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
<= APC_LEVEL |