Condividi tramite


struttura ATOMIC_CREATE_ECP_CONTEXT (ntifs.h)

La struttura ATOMIC_CREATE_ECP_CONTEXT contiene il contesto del parametro di creazione aggiuntivo (ECP) che consente l'esecuzione di operazioni supplementari su un file in modo atomico 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;

Membri

Size

Dimensioni di questa struttura di contesto, in byte.

InFlags

Flag che indicano le operazioni supplementari richieste da eseguire con l'operazione di creazione.

Valore Significato
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED Richiede che il flag di tipo sparse sia impostato nel file.
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED Richiede l'impostazione di un punto reparse nel file.
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED Richiede l'impostazione di una dimensione del file nel file. Ciò implica anche
che si verificherà l'allocazione su disco per supportare le dimensioni del file richieste.
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED Richiede che nel file sia impostata una lunghezza di dati valida. Ciò implica anche che le dimensioni del file vengano impostate almeno sulla lunghezza dei dati valida richiesta. NOTA: questa operazione è considerata un'operazione con privilegi se potrebbe potenzialmente
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
eseguiti o non sono supportati 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 eseguire 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 di tipo sparse è stato impostato nel file.
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET Indica che è stato impostato un punto reparse nel file.
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET Indica che nel file è stata impostata una dimensione del file e che si è verificata l'allocazione su disco per supportare le dimensioni del file richieste.
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET Indica che nel file è stata impostata una lunghezza di dati valida e che le dimensioni del file sono state impostate almeno sulla 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 il MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16.000).

ReparseBuffer

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

FileSize

Valore facoltativo utilizzato 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 facoltativa FILE_TIMESTAMPS 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 (Update Sequence Number) facoltativi.

Usn

Specifica il numero di sequenza di aggiornamento (USN). Questo valore viene riempito 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

flag ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx.

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 di input nel file. Anche se non viene specificato alcun BEST_EFFORT, i file system possono ignorare alcuni dei flag InCaseSensitiveFlags. Il comportamento è simile a FileCaseSensitiveInformation in modo che i chiamanti possano esaminare OutCaseSensitiveFlags conoscere i flag impostati. Se un flag non è supportato in un file o in una directory, BEST_EFFORT avrà effetto.

OutCaseSensitiveFlags

Questo membro restituisce i flag con distinzione tra maiuscole e minuscole nel file, anche se non viene specificato alcun InCaseSensitiveFlags.

Osservazioni

Il valore 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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1607
server minimo supportato Windows Server 2016
intestazione ntifs.h