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 |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per