NetDfsMove, fonction (lmdfs.h)
Renomme ou déplace un lien DFS.
Syntaxe
NET_API_STATUS NET_API_FUNCTION NetDfsMove(
[in] LPWSTR OldDfsEntryPath,
[in] LPWSTR NewDfsEntryPath,
[in] ULONG Flags
);
Paramètres
[in] OldDfsEntryPath
Pointeur vers une chaîne qui spécifie le chemin source de l’opération de déplacement. Cette valeur doit être un lien DFS ou le préfixe de chemin d’accès de tout lien DFS dans l’espace de noms DFS.
[in] NewDfsEntryPath
Pointeur vers une chaîne qui spécifie le chemin de destination de l’opération de déplacement. Cette valeur doit être un chemin d’accès ou un lien DFS dans le même espace de noms DFS.
[in] Flags
Ensemble d’indicateurs qui décrivent les actions à effectuer lors du déplacement du lien.
DFS_MOVE_FLAG_REPLACE_IF_EXISTS (0x00000001)
Si le chemin de destination est déjà un lien DFS existant, remplacez-le dans le cadre de l’opération de déplacement.
Valeur retournée
Si la fonction réussit, la valeur de retour est NERR_Success.
Si la fonction échoue, la valeur de retour est un code d’erreur système. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur système.
Notes
La fonction NetDfsMove déplace facilement un lien d’un ancien nom vers un nouveau. Dans le passé, il a été nécessaire d’effectuer l’action non triviale de supprimer un lien incorrect ou ancien et d’en créer un nouveau, ce qui devient fastidieux lorsque le lien a un nombre important de cibles ou que des propriétés par cible (comme la priorité) sont définies. Il est également courant pour les administrateurs de renommer ou de déplacer régulièrement des liens.
Les chemins DFS fournis à NetDfsMove peuvent être un lien DFS réel ou simplement un préfixe de chemin de liaison DFS. Les caractères génériques ne sont pas autorisés et seuls les chemins absolus peuvent être spécifiés. Les chemins d’accès relatifs et la syntaxe de nom de chemin d’accès spécial (comme « » ou « . ») ne sont pas autorisés.
Quand un préfixe de chemin de liaison DFS est spécifié au lieu d’un chemin DFS complet, l’opération de déplacement est effectuée sur tous les liens DFS qui contiennent ce préfixe. Par conséquent, un seul appel à NetDfsMove peut « déplacer » plusieurs liens. Toutefois, le préfixe de chemin d’accès doit être résolu en au moins un lien DFS valide, sinon l’opération de déplacement échoue.
Les exemples suivants illustrent différentes opérations de déplacement et les résultats.
-
- Ancien chemin : \\MyDfsServer\MyDfsShare\dir1\dir2\link1
- Nouveau chemin : \\MyDfsServer\MyDfsShare\dir1\dir2\link2
-
- Ancien chemin : \\MyDfsServer\MyDfsShare\dir1\dir2\link1
- Nouveau chemin : \\MyDfsServer\MyDfsShare\dir3\dir4\dir5\link2
-
- Ancien chemin : \\MyDfsServer\MyDfsShare\dir1
- Nouveau chemin d’accès : \\MyDfsServer\MyDfsShare\dir3
-
- Ancien chemin : \\MyDfsServer\MyDfsShare\dir1
- Nouveau chemin d’accès : \\MyDfsServer\MyDfsShare
- Liens existants : \\MyDfsServer\MyDfsShare\dir1\link1, \\MyDfsServer\MyDfsShare\link3
- Ancien chemin:\\MyDfsServer\MyDfsShare\dir1
- Nouveau chemin : \\MyDfsServer\MyDfsShare\link3
Avec les serveurs DFS basés sur un domaine, l’opération de déplacement est atomique ; autrement dit, soit l’opération entière est effectuée, soit elle échoue. Toutefois, avec les serveurs DFS autonomes, l’opération de déplacement n’est pas garantie atomique. Dans ce cas, une défaillance peut entraîner une opération de déplacement partiellement terminée et nécessiter un nettoyage pour le compte de l’application appelante.
Lorsque l’opération de déplacement réussit, il est garanti que les métadonnées DFS ont été correctement modifiées. Cela ne garantit pas que les liens DFS ont été réellement créés sur les cibles racine ou que les liens DFS peuvent être créés sur le stockage des cibles racines.
Configuration requise
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008, Windows Server 2008 |
Plateforme cible | Windows |
En-tête | lmdfs.h (include LmDfs.h, Lm.h) |
Bibliothèque | Netapi32.lib |
DLL | Netapi32.dll |