FILE_NOTIFY_EXTENDED_INFORMATION 구조체(ntifs.h)
FILE_NOTIFY_EXTENDED_INFORMATION DIRECTORY_NOTIFY_INFORMATION_CLASS DirectoryNotifyExtendedInformation인 경우 IRP_MN_NOTIFY_CHANGE_DIRECTORY 부 함수 코드를 사용하여 IRP_MJ_DIRECTORY_CONTROL 요청에 대한 응답으로 디렉터리 변경에 대한 정보를 제공합니다.
구문
typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION {
ULONG NextEntryOffset;
ULONG Action;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastModificationTime;
LARGE_INTEGER LastChangeTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER AllocatedLength;
LARGE_INTEGER FileSize;
ULONG FileAttributes;
union {
ULONG ReparsePointTag;
ULONG EaSize;
} DUMMYUNIONNAME;
LARGE_INTEGER FileId;
LARGE_INTEGER ParentFileId;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION;
멤버
NextEntryOffset
다음 레코드로 이동하려면 건너뛰어야 하는 바이트 수입니다. 값이 0이면 이것이 마지막 레코드임을 나타냅니다.
Action
발생한 변경 유형입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
FILE_ACTION_ADDED(0x00000001) | 파일이 디렉터리에 추가되었습니다. |
FILE_ACTION_REMOVED(0x00000002) | 파일이 디렉터리에서 제거되었습니다. |
FILE_ACTION_MODIFIED(0x00000003) | 디렉터리가 수정되었습니다. 이는 타임스탬프를 변경하거나 특성을 변경할 수 있습니다. |
FILE_ACTION_RENAMED_OLD_NAME(0x00000004) | 디렉터리의 이름이 바뀌었으며 이전 이름입니다. |
FILE_ACTION_RENAMED_NEW_NAME(0x00000005) | 디렉터리의 이름이 바뀌었으며 새 이름입니다. |
CreationTime
디렉터리 또는 파일이 만들어지고 파일 시스템에 추가된 날짜 및 시간입니다.
LastModificationTime
디렉터리 또는 파일의 콘텐츠가 파일 시스템에서 마지막으로 수정된 날짜 및 시간입니다.
LastChangeTime
디렉터리 또는 파일의 메타데이터 또는 콘텐츠가 파일 시스템에서 마지막으로 변경된 날짜 및 시간입니다.
LastAccessTime
파일 시스템에서 디렉터리 또는 파일에 마지막으로 액세스한 날짜 및 시간입니다.
AllocatedLength
할당된 파일 크기(바이트)입니다.
FileSize
디렉터리 또는 파일의 새 크기(바이트)이거나 크기가 변경되지 않은 경우 이전 크기입니다.
FileAttributes
파일 특성- 다음의 유효한 조합일 수 있습니다.
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_COMPRESSED
DUMMYUNIONNAME
DUMMYUNIONNAME.ReparsePointTag
디렉터리 또는 파일에 대한 재분석 지점의 식별자 태그입니다.
DUMMYUNIONNAME.EaSize
파일에 대한 확장 특성(EA)의 결합 길이(바이트)입니다.
FileId
디렉터리 또는 파일의 식별자입니다. 이 번호는 생성되고 파일 시스템에 의해 파일에 할당됩니다.
ParentFileId
파일의 부모 디렉터리의 식별자입니다.
FileNameLength
레코드의 파일 이름 부분 크기(바이트)입니다. 이 값에는 종료 null 문자가 포함되지 않습니다.
FileName[1]
디렉터리 핸들을 기준으로 파일 이름을 포함하는 가변 길이 필드입니다. 파일 이름은 유니코드 문자 형식이며 null로 종료되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntifs.h |