Opérations de point d’analyse
Pour déterminer si un système de fichiers prend en charge les points d’analyse, appelez la fonction GetVolumeInformation et examinez l’indicateur de bits FILE_SUPPORTS_REPARSE_POINTS .
La fonction DeviceIoControl vous permet de définir, modifier, obtenir et supprimer des points d’analyse. Le tableau suivant décrit les opérations de point d’analyse que vous pouvez effectuer à l’aide de DeviceIoControl.
Opération | Description |
---|---|
FSCTL_SET_REPARSE_POINT | Permet au programme appelant de définir un nouveau point d’analyse ou de modifier un point existant. |
FSCTL_GET_REPARSE_POINT | Obtient les informations stockées dans un point d’analyse existant. |
FSCTL_DELETE_REPARSE_POINT | Supprime un point d’analyse existant. |
Si vous modifiez, obtenez ou supprimez un point d’analyse, vous devez spécifier la même balise d’analyse dans l’opération contenue dans le fichier. Sinon, l’opération échoue avec l’erreur ERROR_REPARSE_TAG_MISMATCH. Si vous modifiez ou supprimez un point d’analyse, vous devez également spécifier le GUID d’analyse dans l’opération contenue dans le fichier. Sinon, l’opération échoue avec l’erreur ERROR_REPARSE_ATTRIBUTE_CONFLICT.
Pour déterminer si un fichier ou un répertoire contient un point d’analyse, utilisez la fonction GetFileAttributes . Si le fichier ou le répertoire a un point d’analyse associé, l’attribut FILE_ATTRIBUTE_REPARSE_POINT est défini.
Pour remplacer un point d’analyse existant sans avoir déjà de handle dans le fichier ou le répertoire, appelez CreateFile avec FILE_FLAG_OPEN_REPARSE_POINT. Cet indicateur vous permet d’ouvrir le fichier si le filtre de système de fichiers correspondant est installé ou non et fonctionne correctement.