estrutura ATOMIC_CREATE_ECP_CONTEXT (ntifs.h)
A estrutura ATOMIC_CREATE_ECP_CONTEXT contém o contexto de parâmetro de criação extra (ECP) que permite que operações complementares sejam executadas em um arquivo atomicamente durante a criação.
Sintaxe
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;
Membros
Size
O tamanho dessa estrutura de contexto, em bytes.
InFlags
Sinalizadores que indicam as operações complementares solicitadas a serem executadas com a operação de criação.
Valor | Significado |
---|---|
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED | Solicita que o sinalizador esparso seja definido no arquivo. |
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED | Solicita que um ponto de nova análise seja definido no arquivo. |
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED | Solicita que um tamanho de arquivo seja definido no arquivo. Isso também implica |
que a alocação no disco ocorrerá para dar suporte ao tamanho do arquivo solicitado. | |
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED | Solicita que um comprimento de dados válido seja definido no arquivo. Isso também implica que o tamanho do arquivo seja definido como pelo menos o comprimento de dados válido solicitado. OBSERVAÇÃO: isso é considerado uma operação privilegiada se puder potencialmente |
expor dados não inicializados. | |
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK | Use esse sinalizador como uma máscara para especificar os outros valores de sinalizador InFlags . |
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT | Indica que o sistema de arquivos deve executar a operação de criação mesmo que algumas das operações complementares solicitadas não possam ser |
executados ou não têm suporte do sistema de arquivos. O chamador pode marcar OutFlags para ver quais operações foram executadas. Se esse sinalizador não for especificado, o sistema de arquivos deverá falhar na operação de criação se não puder executar todas as operações complementares solicitadas com êxito. |
OutFlags
Sinalizadores que indicam as operações complementares reais executadas com uma operação de criação bem-sucedida.
Valor | Significado |
---|---|
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET | Indica que o sinalizador esparso foi definido no arquivo. |
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET | Indica que um ponto de nova análise foi definido no arquivo. |
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET | Indica que um tamanho de arquivo foi definido no arquivo e que a alocação em disco ocorreu para dar suporte ao tamanho do arquivo solicitado. |
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET | Indica que um comprimento de dados válido foi definido no arquivo e que o tamanho do arquivo foi definido como pelo menos o comprimento de dados válido solicitado. |
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK | Use esse valor de sinalizador como uma máscara para determinar as operações complementares que foram executadas com a operação de criação. |
ReparseBufferLength
O comprimento do membro ReparseBuffer . Esse valor não pode exceder o MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16K).
ReparseBuffer
O valor opcional que indica o tipo de buffer usado na operação de criação. Os valores possíveis são REPARSE_DATA_BUFFER ou REPARSE_GUID_DATA_BUFFER.
FileSize
O valor opcional usado com ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED para indicar o tamanho do arquivo solicitado a ser definido no arquivo.
ValidDataLength
O valor opcional usado com ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED para indicar o comprimento de dados válido solicitado a ser definido no arquivo.
FileTimestamps
Ponteiro para uma estrutura de FILE_TIMESTAMPS opcional que contém a última instância registrada de ações específicas em um arquivo.
FileAttributes
Especifica os atributos de um arquivo.
UsnSourceInfo
Especifica sinalizadores opcionais de informações de origem usn (número de sequência de atualização).
Usn
Especifica o USN (Número de Sequência de Atualização). Esse valor é preenchido no final de GUID_ECP_ATOMIC_CREATE .
SuppressFileAttributeInheritanceMask
Máscara que indica os atributos de arquivo cujas regras de herança normais devem ser suprimidas.
InOpFlags
ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx sinalizadores.
OutOpFlags
ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx sinalizadores.
InGenFlags
ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx sinalizadores.
OutGenFlags
ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx sinalizadores.
CaseSensitiveFlagsMask
Indica quais sinalizadores de FILE_CS_FLAG_xxx são especificados; os sistemas de arquivos devem escolher os valores padrão para outros sinalizadores.
InCaseSensitiveFlags
Sinalizadores sensíveis a maiúsculas e minúsculas de entrada no arquivo. Mesmo que nenhuma BEST_EFFORT seja especificada, os sistemas de arquivos podem ignorar alguns dos InCaseSensitiveFlags. O comportamento é semelhante a FileCaseSensitiveInformation para que os chamadores possam examinar OutCaseSensitiveFlags para conhecer os sinalizadores definidos. Se não houver suporte para um sinalizador em algum arquivo ou diretório, BEST_EFFORT entraria em vigor.
OutCaseSensitiveFlags
Esse membro retorna os sinalizadores que diferenciam maiúsculas de minúsculas no arquivo, mesmo que nenhum InCaseSensitiveFlags seja especificado.
Comentários
O valor GUID_ECP_ATOMIC_CREATE** definido pelo sistema é usado com essa estrutura de contexto ECP ao chamar rotinas de suporte relacionadas ao ECP, como FltAllocateExtraCreateParameter e FsRtlRemoveExtraCreateParameter.
Consulte Introdução a parâmetros de criação extra para obter mais informações.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1607 |
Servidor mínimo com suporte | Windows Server 2016 |
Cabeçalho | ntifs.h |