ATOMIC_CREATE_ECP_CONTEXT 구조체(ntifs.h)

ATOMIC_CREATE_ECP_CONTEXT 구조에는 만드는 동안 파일에 대한 추가 작업을 원자성으로 수행할 수 있는 ECP(추가 만들기 매개 변수) 컨텍스트가 포함되어 있습니다.

구문

typedef struct _ATOMIC_CREATE_ECP_CONTEXT {
  USHORT               Size;
  USHORT               InFlags;
  USHORT               OutFlags;
  USHORT               ReparseBufferLength;
  PREPARSE_DATA_BUFFER ReparseBuffer;
  LONGLONG             FileSize;
  LONGLONG             ValidDataLength;
  PFILE_TIMESTAMPS     FileTimestamps;
  ULONG                FileAttributes;
  ULONG                UsnSourceInfo;
  USN                  Usn;
  ULONG                SuppressFileAttributeInheritanceMask;
  ULONG                InOpFlags;
  ULONG                OutOpFlags;
  ULONG                InGenFlags;
  ULONG                OutGenFlags;
  ULONG                CaseSensitiveFlagsMask;
  ULONG                InCaseSensitiveFlags;
  ULONG                OutCaseSensitiveFlags;
} ATOMIC_CREATE_ECP_CONTEXT, *PATOMIC_CREATE_ECP_CONTEXT;

멤버

Size

이 컨텍스트 구조의 크기(바이트)입니다.

InFlags

만들기 작업으로 수행할 요청된 추가 작업을 나타내는 플래그입니다.

의미
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED 파일에 스파스 플래그를 설정하도록 요청합니다.
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED 파일에 재분석 지점을 설정하도록 요청합니다.
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED 파일에 파일 크기를 설정하도록 요청합니다. 이는 또한
요청된 파일 크기를 지원하기 위해 디스크 내 할당이 발생합니다.
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED 파일에 유효한 데이터 길이를 설정하도록 요청합니다. 이는 파일 크기가 요청된 유효한 데이터 길이 이상으로 설정됨을 의미합니다. 참고: 잠재적으로 권한 있는 작업으로 간주될 수 있습니다.
초기화되지 않은 데이터를 노출합니다.
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK 이 플래그를 마스크로 사용하여 다른 InFlags 플래그 값을 지정합니다.
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT 요청된 추가 작업 중 일부를 수행할 수 없는 경우에도 파일 시스템에서 만들기 작업을 수행해야 했음을 나타냅니다.
파일 시스템에서 수행되거나 지원되지 않습니다. 호출자는 OutFlags를 검사 수행된 작업을 확인할 수 있습니다. 이 플래그를 지정하지 않으면 요청된 추가 작업을 모두 성공적으로 수행할 수 없는 경우 파일 시스템에서 만들기 작업에 실패해야 합니다.

OutFlags

성공적인 만들기 작업으로 수행된 실제 추가 작업을 나타내는 플래그입니다.

의미
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET 스파스 플래그가 파일에 설정되었음을 나타냅니다.
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET 파일에 재분석 지점이 설정되었음을 나타냅니다.
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET 파일 크기가 파일에 설정되었고 요청된 파일 크기를 지원하기 위해 디스크 내 할당이 발생했음을 나타냅니다.
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET 파일에 유효한 데이터 길이가 설정되었고 파일 크기가 요청된 유효한 데이터 길이 이상으로 설정되었음을 나타냅니다.
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK 이 플래그 값을 마스크로 사용하여 만들기 작업으로 수행된 추가 작업을 확인합니다.

ReparseBufferLength

ReparseBuffer 멤버의 길이입니다. 이 값은 MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16K)를 초과할 수 없습니다.

ReparseBuffer

만들기 작업에 사용되는 버퍼의 유형을 나타내는 선택적 값입니다. 가능한 값은 REPARSE_DATA_BUFFER 또는 REPARSE_GUID_DATA_BUFFER.

FileSize

파일에서 설정할 요청된 파일 크기를 나타내기 위해 ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED 함께 사용되는 선택적 값입니다.

ValidDataLength

파일에서 설정할 요청된 유효한 데이터 길이를 나타내기 위해 ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED 함께 사용되는 선택적 값입니다.

FileTimestamps

파일에 대한 특정 작업의 마지막으로 기록된 instance 포함하는 선택적 FILE_TIMESTAMPS 구조체에 대한 포인터입니다.

FileAttributes

파일의 특성을 지정합니다.

UsnSourceInfo

선택적 USN(업데이트 시퀀스 번호) 원본 정보 플래그를 지정합니다.

Usn

USN(업데이트 시퀀스 번호)을 지정합니다. 이 값은 GUID_ECP_ATOMIC_CREATE 끝에 채워집니다.

SuppressFileAttributeInheritanceMask

일반 상속 규칙을 표시하지 않아야 하는 파일 특성을 나타내는 마스크입니다.

InOpFlags

플래그를 ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx.

OutOpFlags

ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx 플래그입니다.

InGenFlags

플래그를 ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx.

OutGenFlags

플래그를 ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx.

CaseSensitiveFlagsMask

지정된 FILE_CS_FLAG_xxx 플래그를 나타냅니다. 파일 시스템은 다른 플래그의 기본값을 선택해야 합니다.

InCaseSensitiveFlags

파일의 입력 대/소문자 구분 플래그입니다. BEST_EFFORT 지정하지 않더라도 파일 시스템은 일부 InCaseSensitiveFlags를 무시할 수 있습니다. 이 동작은 FileCaseSensitiveInformation과 유사하므로 호출자는 OutCaseSensitiveFlags 를 검사하여 설정된 플래그를 알 수 있습니다. 일부 파일 또는 디렉터리에서 플래그가 지원되지 않으면 BEST_EFFORT 적용됩니다.

OutCaseSensitiveFlags

이 멤버는 InCaseSensitiveFlags 가 지정되지 않은 경우에도 파일의 대/소문자 구분 플래그를 반환합니다.

설명

시스템 정의 GUID_ECP_ATOMIC_CREATE** 값은 FltAllocateExtraCreateParameterFsRtlRemoveExtraCreateParameter와 같은 ECP 관련 지원 루틴을 호출할 때 이 ECP 컨텍스트 구조와 함께 사용됩니다.

자세한 내용은 추가 만들기 매개 변수 소개 를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 버전 1607
지원되는 최소 서버 Windows Server 2016
머리글 ntifs.h