MARK_HANDLE_INFO32 structure (winioctl.h)

Contient des informations utilisées pour marquer un fichier ou un répertoire spécifié, et son enregistrement de journal des modifications de numéro de séquence de mise à jour (USN) avec des données sur les modifications. Elle est définie uniquement pour le code 64 bits et existe pour interpréter MARK_HANDLE_INFO structures envoyées par du code 32 bits. Il est utilisé par le code de contrôle IOCTL FSCTL_MARK_HANDLE .

Syntaxe

typedef struct _MARK_HANDLE_INFO32 {
  union {
    DWORD UsnSourceInfo;
    DWORD CopyNumber;
  } DUMMYUNIONNAME;
  DWORD  UsnSourceInfo;
  UINT32 VolumeHandle;
  DWORD  HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;

Membres

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

DUMMYUNIONNAME.CopyNumber

UsnSourceInfo

Type de modifications effectuées.

L’opération ne modifie pas le fichier ou le répertoire en externe du point de vue de l’application qui l’a créé.

Lorsqu’un thread écrit un nouvel enregistrement USN, les indicateurs d’informations sources dans l’enregistrement précédent continuent d’être présents uniquement si le thread définit également ces indicateurs. Par conséquent, la structure des informations sources permet aux applications de filtrer les enregistrements USN définis uniquement par une source connue, telle qu’un filtre antivirus.

Les valeurs suivantes sont définies.

Valeur Signification
USN_SOURCE_DATA_MANAGEMENT
0x00000001
L’opération fournit des informations sur une modification apportée au fichier ou au répertoire par le système d’exploitation.

Une utilisation courante est lorsque le stockage distant déplace des données d’un stockage externe vers un stockage local. Le stockage à distance est le logiciel de gestion du stockage hiérarchique. Un tel déplacement ajoute généralement au minimum l’indicateur USN_REASON_DATA_OVERWRITE à un enregistrement USN. Toutefois, les données n’ont pas changé du point de vue de l’utilisateur. En notant USN_SOURCE_DATA_MANAGEMENT dans le membre SourceInfo de la structure USN_RECORD qui contient l’enregistrement, vous pouvez déterminer que bien qu’une opération d’écriture soit effectuée sur l’élément, les données n’ont pas changé.

USN_SOURCE_AUXILIARY_DATA
0x00000002
L’opération ajoute un flux de données privé à un fichier ou un répertoire.

Par exemple, un détecteur de virus ajoutant des informations de somme de contrôle. Lorsque le détecteur de virus modifie l’élément, le système génère des enregistrements USN. USN_SOURCE_AUXILIARY_DATA indique que les modifications n’ont pas modifié les données de l’application.

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
L’opération crée ou met à jour le contenu d’un fichier répliqué.

Par exemple, le service de réplication de fichiers définit cet indicateur lorsqu’il crée ou met à jour un fichier dans un répertoire répliqué.

VolumeHandle

Handle de volume vers le volume où réside le fichier ou le répertoire. Pour plus d’informations sur l’obtention d’un handle de volume, consultez la section Remarques.

Ce handle est nécessaire pour vérifier les privilèges de cette opération.

L’appelant doit avoir le privilège SE_MANAGE_VOLUME_NAME . Pour plus d’informations, consultez Privilèges.

HandleInfo

Indicateur qui spécifie des informations supplémentaires sur le fichier ou le répertoire identifié par la valeur de handle dans le membre VolumeHandle .

Valeur Signification
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé.
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé.
MARK_HANDLE_REALTIME
0x00000020
Le fichier est marqué pour un comportement de lecture en temps réel, quel que soit le type de fichier réel. Les fichiers marqués avec cet indicateur doivent être ouverts pour les E/S non déboguées.
MARK_HANDLE_NOT_REALTIME
0x00000040
Le fichier précédemment marqué pour un comportement de lecture en temps réel à l’aide de l’indicateur MARK_HANDLE_REALTIME peut être supprimé à l’aide de cet indicateur, ce qui supprime le comportement en temps réel. Les fichiers marqués avec cet indicateur doivent être ouverts pour les E/S non déboguées.

Configuration requise

   
Client minimal pris en charge Windows 8 (64 bits uniquement) [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)