ATOMIC_CREATE_ECP_CONTEXT struttura (ntifs.h)

La struttura ATOMIC_CREATE_ECP_CONTEXT contiene il contesto di creazione aggiuntivo (ECP) che consente l'esecuzione di operazioni supplementari su un file atomicamente durante la creazione.

Sintassi

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;

Members

Size

Dimensioni di questa struttura di contesto, in byte.

InFlags

Flag che indicano l'operazione supplementare richiesta da eseguire con l'operazione di creazione.

Valore Significato
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED Richiede che il flag sparse sia impostato nel file.
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED Richiede l'impostazione di un punto di ripristino nel file.
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED Richiede che le dimensioni di un file siano impostate nel file. Ciò implica anche
che l'allocazione su disco si verificherà per supportare le dimensioni del file richieste.
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED Richiede che sia impostata una lunghezza di dati valida nel file. Ciò implica anche che le dimensioni del file siano impostate su almeno la lunghezza dei dati valida richiesta. NOTA: questa operazione viene considerata un'operazione con privilegi se potrebbe potenzialmente essere possibile
esporre dati non inizializzati.
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK Usare questo flag come maschera per specificare gli altri valori di flag InFlags .
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT Indica che il file system deve eseguire l'operazione di creazione anche se alcune delle operazioni supplementari richieste non possono essere
eseguito o non supportato dal file system. Il chiamante può controllare OutFlags per verificare quali operazioni sono state eseguite. Se questo flag non è specificato, il file system deve non riuscire l'operazione di creazione se non riesce a eseguire correttamente tutte le operazioni supplementari richieste.

OutFlags

Flag che indicano le operazioni supplementari effettive eseguite con un'operazione di creazione riuscita.

Valore Significato
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET Indica che il flag sparse è stato impostato nel file.
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET Indica che un punto di ripristino è stato impostato nel file.
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET Indica che una dimensione del file è stata impostata nel file e che l'allocazione su disco si è verificata per supportare le dimensioni del file richieste.
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET Indica che una lunghezza di dati valida è stata impostata sul file e che le dimensioni del file sono state impostate su almeno la lunghezza dei dati valida richiesta.
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK Usare questo valore di flag come maschera per determinare le operazioni supplementari eseguite con l'operazione di creazione.

ReparseBufferLength

Lunghezza del membro ReparseBuffer . Questo valore non può superare la MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16K).

ReparseBuffer

Valore facoltativo che indica il tipo di buffer usato nell'operazione di creazione. I valori possibili sono REPARSE_DATA_BUFFER o REPARSE_GUID_DATA_BUFFER.

FileSize

Valore facoltativo usato con ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED per indicare le dimensioni del file richieste da impostare nel file.

ValidDataLength

Valore facoltativo utilizzato con ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED per indicare la lunghezza dei dati valida richiesta da impostare nel file.

FileTimestamps

Puntatore a una struttura di FILE_TIMESTAMPS facoltativa che contiene l'ultima istanza registrata di azioni specifiche in un file.

FileAttributes

Specifica gli attributi di un file.

UsnSourceInfo

Specifica i flag di informazioni di origine (USN) facoltativi.

Usn

Specifica il numero di sequenza di aggiornamento (USN). Questo valore viene compilato alla fine di GUID_ECP_ATOMIC_CREATE .

SuppressFileAttributeInheritanceMask

Maschera che indica gli attributi del file le cui regole di ereditarietà normali devono essere eliminate.

InOpFlags

ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx flag.

OutOpFlags

ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx flag.

InGenFlags

ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx flag.

OutGenFlags

ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx flag.

CaseSensitiveFlagsMask

Indica quali flag FILE_CS_FLAG_xxx sono specificati; i file system devono selezionare i valori predefiniti per altri flag.

InCaseSensitiveFlags

Flag di distinzione tra maiuscole e minuscole nel file. Anche se non viene specificata alcuna BEST_EFFORT, i file system possono ignorare alcuni degli elementi InCaseSensitiveFlags. Il comportamento è simile a FileCaseSensitiveInformation, in modo che i chiamanti possano esaminare OutCaseSensitiveFlags per conoscere i flag impostati. Se un flag non è supportato in un file o in una directory, BEST_EFFORT avrebbe effetto.

OutCaseSensitiveFlags

Questo membro restituisce i flag di distinzione tra maiuscole e minuscole nel file, anche se non vengono specificati flag InCaseSensitiveFlags .

Commenti

Il valore di GUID_ECP_ATOMIC_CREATE** definito dal sistema viene usato con questa struttura di contesto ECP quando si chiamano routine di supporto correlate a ECP, ad esempio FltAllocateExtraCreateParameter e FsRtlRemoveExtraCreateParameter.

Per altre informazioni, vedere Introduzione ai parametri di creazione aggiuntivi .

Requisiti

Requisito Valore
Client minimo supportato Windows 10 versione 1607
Server minimo supportato Windows Server 2016
Intestazione ntifs.h