다음을 통해 공유


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

파일에 대한 특정 작업의 마지막으로 기록된 인스턴스를 포함하는 선택적 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