Comment créer un point de jonction avec WinApi ?
-
26-09-2019 - |
Question
Il y a CreateHardLink
fonction pour créer des liens durs. (Depuis Win2000)
Et voici CreateSymbolicLink
fonction depuis la sortie de Vista.
Mais pourquoi n'y a-t-il pas CreateJunction
?
Comment mklink
faire une jonction ?
Et comment écrire des codes pour faire une jonction dans mon application ?
La solution
Ce sont des points d'analyse, donc FSCTL_SET_REPARSE_POINT est le FSCTL magique.Voici un exemple, je ne l'ai jamais essayé mais cela semble correct :
http://www.flexhex.com/docs/articles/hard-links.phtml
-scott
Autres conseils
Il n'existe actuellement aucune fonction unique intégrée pour créer des jonctions comme c'est le cas pour les liens symboliques ou les liens physiques.Comme l'a dit Snone, c'est un point d'analyse, donc vous devez utiliser DeviceIoControl pour interagir avec lui.Si je me souviens bien, la source qu'il a liée est la même source avec laquelle j'ai joué lorsque j'essayais de comprendre cela, et je ne pense pas avoir rencontré de problèmes avec elle.
Alternativement, si vous n'êtes pas contre l'utilisation d'une bibliothèque externe dans votre application et que vous avez besoin de fonctionnalités pour lire/vérifier/supprimer des jonctions, vous voudrez peut-être examiner réanalyserlib, qui est une bibliothèque assez décente encapsulant les jonctions, les liens symboliques, les points de montage et les points d'analyse personnalisés.