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** 값은 FltAllocateExtraCreateParameter 및 FsRtlRemoveExtraCreateParameter같은 ECP 관련 지원 루틴을 호출할 때 이 ECP 컨텍스트 구조와 함께 사용됩니다.
자세한 내용은 추가 만들기 매개 변수 소개를 참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 1607 |
지원되는 최소 서버 | Windows Server 2016 |
헤더 | ntifs.h |