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