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 |
---|---|
|
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é. |
|
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. |
|
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 |
---|---|
|
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé. |
|
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé. |
|
Le fichier est marqué comme ne pouvant pas être défragmenté tant que le handle n’est pas fermé. |
|
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. |
|
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) |