structure ATOMIC_CREATE_ECP_CONTEXT (ntifs.h)
La structure ATOMIC_CREATE_ECP_CONTEXT contient le contexte de paramètre de création supplémentaire (ECP) qui permet d’effectuer des opérations supplémentaires sur un fichier de manière atomique pendant la création.
Syntaxe
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;
Membres
Size
Taille de cette structure de contexte, en octets.
InFlags
Indicateurs qui indiquent la ou les opérations supplémentaires demandées à effectuer avec l’opération de création.
Valeur | Signification |
---|---|
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED | Demande que l’indicateur éparse soit défini sur le fichier. |
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED | Demande qu’un point d’analyse soit défini sur le fichier. |
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED | Demande qu’une taille de fichier soit définie sur le fichier. Cela implique également |
que l’allocation sur disque se produit pour prendre en charge la taille de fichier demandée. | |
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED | Demande qu’une longueur de données valide soit définie sur le fichier. Cela implique également que la taille du fichier soit définie sur au moins la longueur des données valides demandées. REMARQUE : cette opération est considérée comme une opération privilégiée si elle peut potentiellement |
exposer des données non initialisées. | |
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK | Utilisez cet indicateur comme masque pour spécifier les autres valeurs d’indicateur InFlags . |
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT | Indique que le système de fichiers doit effectuer l’opération de création même si certaines des opérations supplémentaires demandées ne peuvent pas être |
effectuée ou non prise en charge par le système de fichiers. L’appelant peut case activée OutFlags pour voir quelles opérations ont été effectuées. Si cet indicateur n’est pas spécifié, le système de fichiers doit échouer l’opération de création s’il ne peut pas effectuer toutes les opérations supplémentaires demandées. |
OutFlags
Indicateurs qui indiquent la ou les opérations supplémentaires réelles effectuées avec une opération de création réussie.
Valeur | Signification |
---|---|
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET | Indique que l’indicateur éparse a été défini sur le fichier. |
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET | Indique qu’un point d’analyse a été défini sur le fichier. |
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET | Indique qu’une taille de fichier a été définie sur le fichier et que l’allocation sur disque s’est produite pour prendre en charge la taille de fichier demandée. |
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET | Indique qu’une longueur de données valide a été définie sur le fichier et que la taille du fichier a été définie sur au moins la longueur de données valide demandée. |
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK | Utilisez cette valeur d’indicateur comme masque pour déterminer les opérations supplémentaires qui ont été effectuées avec l’opération de création. |
ReparseBufferLength
Longueur du membre ReparseBuffer . Cette valeur ne peut pas dépasser la MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16 000).
ReparseBuffer
Valeur facultative qui indique le type de mémoire tampon utilisée dans l’opération de création. Les valeurs possibles sont REPARSE_DATA_BUFFER ou REPARSE_GUID_DATA_BUFFER.
FileSize
Valeur facultative utilisée avec ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED pour indiquer la taille de fichier demandée à définir sur le fichier.
ValidDataLength
Valeur facultative utilisée avec ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED pour indiquer la longueur de données valide demandée à définir sur le fichier.
FileTimestamps
Pointeur vers une structure de FILE_TIMESTAMPS facultative qui contient la dernière instance enregistrée d’actions spécifiques sur un fichier.
FileAttributes
Spécifie les attributs d’un fichier.
UsnSourceInfo
Spécifie les indicateurs d’informations sources de numéro de séquence de mise à jour (USN) facultatifs.
Usn
Spécifie le numéro de séquence de mise à jour (USN). Cette valeur est remplie à la fin de GUID_ECP_ATOMIC_CREATE .
SuppressFileAttributeInheritanceMask
Masque qui indique les attributs de fichier dont les règles d’héritage normales doivent être supprimées.
InOpFlags
ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx indicateurs.
OutOpFlags
ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx indicateurs.
InGenFlags
ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx indicateurs.
OutGenFlags
ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx indicateurs.
CaseSensitiveFlagsMask
Indique les indicateurs FILE_CS_FLAG_xxx spécifiés ; les systèmes de fichiers doivent choisir les valeurs par défaut pour d’autres indicateurs.
InCaseSensitiveFlags
Entrez des indicateurs respectant la casse sur le fichier. Même si aucune BEST_EFFORT n’est spécifiée, les systèmes de fichiers peuvent ignorer certains des InCaseSensitiveFlags. Le comportement est similaire à FileCaseSensitiveInformation afin que les appelants puissent examiner OutCaseSensitiveFlags pour connaître les indicateurs définis. Si un indicateur n’est pas pris en charge sur un fichier ou un répertoire, BEST_EFFORT prend effet.
OutCaseSensitiveFlags
Ce membre retourne les indicateurs respectant la casse sur le fichier, même si aucun InCaseSensitiveFlags n’est spécifié.
Remarques
La valeur GUID_ECP_ATOMIC_CREATE** définie par le système est utilisée avec cette structure de contexte ECP lors de l’appel de routines de prise en charge liées à ECP telles que FltAllocateExtraCreateParameter et FsRtlRemoveExtraCreateParameter.
Pour plus d’informations, consultez Présentation des paramètres de création supplémentaires .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1607 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | ntifs.h |