Déterminer si un répertoire est un dossier monté

Il est utile de déterminer si un répertoire est un dossier monté lorsque, par exemple, vous utilisez une application de sauvegarde ou de recherche limitée à un volume. Une telle application peut atteindre des informations sur plusieurs volumes si vous utilisez des fonctions telles que SetVolumeMountPoint pour créer des dossiers montés pour les autres volumes sur le volume auquel l’application est limitée. Pour plus d’informations, consultez Création de dossiers montés.

Pour déterminer si un répertoire spécifié est un dossier monté, appelez d’abord la fonction GetFileAttributes et inspectez l’indicateur FILE_ATTRIBUTE_REPARSE_POINT dans la valeur de retour pour voir si le répertoire a un point d’analyse associé. Si c’est le cas, utilisez les fonctions FindFirstFile et FindNextFile pour obtenir la balise d’analyse dans le membre dwReserved0 de la structure WIN32_FIND_DATA . Pour déterminer si le point d’analyse est un dossier monté (et non une autre forme de point d’analyse), testez si la valeur de l’étiquette est égale à la valeur IO_REPARSE_TAG_MOUNT_POINT. Pour plus d’informations, consultez Répare des points.

Pour obtenir le volume cible d’un dossier monté, utilisez la fonction GetVolumeNameForVolumeMountPoint .

De la même manière, vous pouvez déterminer si un point d’analyse est un lien symbolique en testant si la valeur de balise est IO_REPARSE_TAG_SYMLINK.

Constantes d’attribut de fichier