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
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 |