FILE_ID_GLOBAL_TX_DIR_INFORMATION 구조체(ntifs.h)

FILE_ID_GLOBAL_TX_DIR_INFORMATION 구조에는 디렉터리의 파일에 대한 트랜잭션 표시 유형에 대한 정보가 포함되어 있습니다.

구문

typedef struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG         FileAttributes;
  ULONG         FileNameLength;
  LARGE_INTEGER FileId;
  GUID          LockingTransactionId;
  ULONG         TxInfoFlags;
  WCHAR         FileName[1];
} FILE_ID_GLOBAL_TX_DIR_INFORMATION, *PFILE_ID_GLOBAL_TX_DIR_INFORMATION;

멤버

NextEntryOffset

버퍼에 여러 항목이 있는 경우 다음 FILE_ID_FULL_DIR_INFORMATION 항목이 있는 이 항목의 시작 부분에서 바이트 오프셋입니다. 값이 0이면 이 항목을 따르는 다른 항목이 없음을 나타냅니다.

FileIndex

부모 디렉터리 내 파일의 바이트 오프셋입니다. 부모 디렉터리 내의 파일 위치가 고정되지 않고 정렬 순서를 유지하도록 변경할 수 있는 파일 시스템의 경우 이 필드는 0으로 설정되어야 하며 무시됩니다.

CreationTime

파일을 만든 시간입니다.

LastAccessTime

파일에 마지막으로 액세스한 시간입니다.

LastWriteTime

파일에 마지막으로 정보가 기록된 시간입니다.

ChangeTime

파일이 마지막으로 변경된 시간입니다.

EndOfFile

파일 시작부터 바이트 오프셋으로 사용할 수 있는 절대 새 파일 끝 위치입니다. EndOfFile은 파일의 마지막 유효한 바이트 바로 다음에 바이트에 대한 오프셋을 지정합니다.

AllocationSize

파일 할당 크기(바이트)입니다. 이 필드의 값은 클러스터 크기의 정수 배수입니다.

FileAttributes

파일 특성입니다.

플래그 의미
FILE_ATTRIBUTE_NORMAL 표준 특성이 있는 파일을 만들어야 합니다.
FILE_ATTRIBUTE_READONLY 읽기 전용 파일을 만들어야 합니다.
FILE_ATTRIBUTE_HIDDEN 숨겨진 파일을 만들어야 합니다.
FILE_ATTRIBUTE_SYSTEM 시스템 파일을 만들어야 합니다.
FILE_ATTRIBUTE_ARCHIVE 파일이 보관되도록 표시되어야 합니다.
FILE_ATTRIBUTE_TEMPORARY 임시 파일을 만들어야 합니다.

FileNameLength

FileName 멤버에 포함된 파일 이름의 길이(바이트)입니다.

FileId

파일에 대한 파일 참조 번호입니다. 파일 시스템은 이 숫자를 생성하고 파일에 할당합니다. FileId를 지원하지 않는 파일 시스템의 경우 이 필드는 0으로 설정되고 무시됩니다.

LockingTransactionId

수정을 위해 이 파일이 잠긴 트랜잭션의 GUID 값입니다. 파일 시스템은 이 값을 생성하고 할당합니다.

TxInfoFlags

다음 값 중 0개 이상의 비트 OR입니다.

의미
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 0x00000001 파일이 트랜잭션에 의해 수정하기 위해 잠겨 있습니다. 이 플래그가 설정된 경우 트랜잭션의 ID를 LockingTransactionId 멤버에 포함해야 합니다.
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_TO_TX 0x00000002 이 파일은 트랜잭션 ID가 LockingTransactionId 멤버에 있는 디렉터리의 트랜잭션된 열거자에 표시됩니다.
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_OUTSIDE_TX 0x00000004 이 파일은 트랜잭션 ID가 LockingTransactionId 멤버에 있는 디렉터리 이외의 디렉터리의 트랜잭션된 열거자에 표시되며 디렉터리의 트랜잭션되지 않은 열거자에 표시됩니다.
 

FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 플래그가 설정되지 않은 경우 다른 플래그를 설정해서는 안 됩니다. FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 이외의 플래그가 설정되면 FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 플래그를 설정해야 합니다.

FileName[1]

파일 이름을 포함하는 유니코드 문자 시퀀스입니다.

참고FileNameLength 를 사용하여 후행 null 구분 기호가 있다고 가정하지 않고 파일 이름의 길이를 확인합니다.
 

설명

FILE_FS_ATTRIBUTE_INFORMATION 구조를 사용하여 쿼리에 대한 응답으로 FILE_SUPPORTS_TRANSACTIONS 플래그를 반환하는 파일 시스템에 대해 FILE_ID_GLOBAL_TX_DIR_INFORMATION 구조를 구현할 수 있습니다. 해당 플래그를 반환하지 않는 파일 시스템에 대해 구현해서는 안 됩니다.

TxInfoFlags에서 FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 플래그가 설정되지 않은 경우 LockingTransactionId는 무시됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7
머리글 ntifs.h(FltKernel.h, Ntifs.h 포함)