Función NetDfsMove (lmdfs.h)
Cambia el nombre o mueve un vínculo DFS.
Sintaxis
NET_API_STATUS NET_API_FUNCTION NetDfsMove(
[in] LPWSTR OldDfsEntryPath,
[in] LPWSTR NewDfsEntryPath,
[in] ULONG Flags
);
Parámetros
[in] OldDfsEntryPath
Puntero a una cadena que especifica la ruta de acceso de origen para la operación de traslado. Este valor debe ser un vínculo DFS o el prefijo de ruta de acceso de cualquier vínculo DFS en el espacio de nombres DFS.
[in] NewDfsEntryPath
Puntero a una cadena que especifica la ruta de acceso de destino para la operación de traslado. Este valor debe ser una ruta de acceso o un vínculo DFS en el mismo espacio de nombres DFS.
[in] Flags
Conjunto de marcas que describen las acciones que se deben realizar al mover el vínculo.
DFS_MOVE_FLAG_REPLACE_IF_EXISTS (0x00000001)
Si la ruta de acceso de destino ya es un vínculo DFS existente, reemplácela como parte de la operación de traslado.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es NERR_Success.
Si se produce un error en la función, el valor devuelto es un código de error del sistema. Para obtener una lista de códigos de error, consulte Códigos de error del sistema.
Comentarios
La función NetDfsMove mueve convenientemente un vínculo de un nombre antiguo a uno nuevo. En el pasado, ha sido necesario realizar la acción no trivial de eliminar un vínculo incorrecto o antiguo y crear uno nuevo, lo que resulta complicado cuando el vínculo tiene un número significativo de destinos o tiene propiedades por destino (como prioridad). También es habitual que los administradores cambien el nombre o muevan vínculos con regularidad.
Las rutas de acceso DFS proporcionadas a NetDfsMove pueden ser un vínculo DFS real o simplemente un prefijo de ruta de acceso de vínculo DFS. No se permiten caracteres comodín y solo se pueden especificar rutas de acceso absolutas. No se permiten rutas de acceso relativas y sintaxis de nombre de ruta de acceso especial (como "." o "..").
Cuando se especifica un prefijo de ruta de acceso de vínculo DFS en lugar de una ruta de acceso DFS completa, la operación de traslado se realiza en todos los vínculos DFS que contienen ese prefijo. Por lo tanto, una sola llamada a NetDfsMove puede "mover" varios vínculos. Sin embargo, el prefijo de ruta de acceso debe resolverse en al menos un vínculo DFS válido o se producirá un error en la operación de traslado.
En los ejemplos siguientes se muestran diferentes operaciones de movimiento y los resultados.
-
- Ruta de acceso antigua: \\MyDfsServer\MyDfsShare\dir1\dir2\link1
- Nueva ruta de acceso: \\MyDfsServer\MyDfsShare\dir1\dir2\link2
-
- Ruta de acceso antigua: \\MyDfsServer\MyDfsShare\dir1\dir2\link1
- Nueva ruta de acceso: \\MyDfsServer\MyDfsShare\dir3\dir4\dir5\link2
-
- Ruta de acceso antigua: \\MyDfsServer\MyDfsShare\dir1
- Nueva ruta de acceso: \\MyDfsServer\MyDfsShare\dir3
-
- Ruta de acceso antigua: \\MyDfsServer\MyDfsShare\dir1
- Nueva ruta de acceso: \\MyDfsServer\MyDfsShare
- Vínculos existentes: \\MyDfsServer\MyDfsShare\dir1\link1, \\MyDfsServer\MyDfsShare\link3
- Ruta de acceso antigua:\\MyDfsServer\MyDfsShare\dir1
- Nueva ruta de acceso: \\MyDfsServer\MyDfsShare\link3
Con los servidores DFS basados en dominio, la operación de traslado es atómica; es decir, se realiza toda la operación o se produce un error. Sin embargo, con servidores DFS independientes, no se garantiza que la operación de traslado sea atómica. En esta situación, un error puede dar lugar a una operación de traslado completada parcialmente y requerirá limpieza en nombre de la aplicación que realiza la llamada.
Cuando la operación de movimiento se realiza correctamente, se garantiza que los metadatos DFS se modificaron correctamente. Esto no garantiza que los vínculos DFS se hayan creado realmente en los destinos raíz o que los vínculos DFS se puedan crear en el almacenamiento de los destinos raíz.
Requisitos
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008, Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | lmdfs.h (incluya LmDfs.h, Lm.h) |
Library | Netapi32.lib |
Archivo DLL | Netapi32.dll |
Consulte también
Funciones del sistema de archivos distribuidos (DFS)