Efectos simbólicos de vínculo en funciones de sistemas de archivos

Varias funciones de archivo estándar que usan nombres de ruta de acceso para especificar uno o varios archivos se ven afectados por el uso de vínculos simbólicos. En este tema se enumeran esas funciones y se describen los cambios en el comportamiento:

En las descripciones siguientes, se usan los siguientes términos:

  • Archivo de origen: archivo original que se va a copiar.
  • Archivo de destino: la copia recién creada del archivo.
  • Destino: entidad a la que apunta un vínculo simbólico.

Nota

El comportamiento de las funciones que aceptan un identificador creado mediante la función CreateFile , como la función GetFileTime , variará en función de si se llamó a la función CreateFile o no mediante la marca de FILE_FLAG_OPEN_REPARSE_POINT . Para obtener más información, vea CreateFile y la siguiente sección CreateFile y CreateFileTransacted .

 

CopyFile y CopyFileTransacted

Si el archivo de origen es un vínculo simbólico, el archivo real copiado es el destino del vínculo simbólico.

Si el archivo de destino ya existe y es un vínculo simbólico, el archivo de origen sobrescribe el destino del vínculo simbólico.

CopyFileEx

Si se especifica COPY_FILE_COPY_SYMLINK y:

  • Si el archivo de origen es un vínculo simbólico, se copia el vínculo simbólico, no el archivo de destino.
  • Si el archivo de origen no es un vínculo simbólico, no hay ningún cambio en el comportamiento.
  • Si el archivo de destino es un vínculo simbólico existente, el vínculo simbólico se sobrescribe, no el archivo de destino.
  • Si también se especifica COPY_FILE_FAIL_IF_EXISTS y el archivo de destino es un vínculo simbólico existente, se produce un error en la operación en todos los casos.

Si no se especifica COPY_FILE_COPY_SYMLINK y:

  • Si también se especifica COPY_FILE_FAIL_IF_EXISTS y el archivo de destino es un vínculo simbólico existente, la operación produce un error solo si existe el destino del vínculo simbólico.
  • Si no se especifica COPY_FILE_FAIL_IF_EXISTS, no hay ningún cambio en el comportamiento.

Windows Server 2003 y Windows XP: No se admite la marca COPY_FILE_COPY_SYMLINK . Si el archivo de origen es un vínculo simbólico, el archivo real copiado es el destino del vínculo simbólico.

CreateFile y CreateFileTransacted

Si la llamada a esta función crea un nuevo archivo, no hay ningún cambio en el comportamiento.

Si se especifica FILE_FLAG_OPEN_REPARSE_POINT y:

  • Si se abre un archivo existente y es un vínculo simbólico, el identificador devuelto es un identificador para el vínculo simbólico.
  • Si se especifican CREATE_ALWAYS, TRUNCATE_EXISTING o FILE_FLAG_DELETE_ON_CLOSE , el archivo afectado es un vínculo simbólico.

Si no se especifica FILE_FLAG_OPEN_REPARSE_POINT y:

  • Si se abre un archivo existente y es un vínculo simbólico, el identificador devuelto es un identificador para el destino.
  • Si se especifican CREATE_ALWAYS, TRUNCATE_EXISTING o FILE_FLAG_DELETE_ON_CLOSE , el archivo afectado es el destino.

Si la ruta de acceso apunta a un vínculo simbólico, la función crea un vínculo duro al destino.

DeleteFile y DeleteFileTransacted

Si la ruta de acceso apunta a un vínculo simbólico, se elimina el vínculo simbólico, no el destino. Para eliminar un destino, debe llamar a CreateFile y especificar FILE_FLAG_DELETE_ON_CLOSE.

FindFirstChangeNotification

Si la ruta de acceso apunta a un vínculo simbólico, se crea el identificador de notificación para el destino. Si una aplicación se ha registrado para recibir notificaciones de cambio para un directorio que contiene vínculos simbólicos, la aplicación solo se notifica cuando se han cambiado los vínculos simbólicos, no los archivos de destino.

FindFirstFile y FindFirstFileTransacted

Si la ruta de acceso apunta a un vínculo simbólico, el búfer de WIN32_FIND_DATA contiene información sobre el vínculo simbólico, no el destino.

FindFirstFileEx

Si la ruta de acceso apunta a un vínculo simbólico, el búfer de WIN32_FIND_DATA contiene información sobre el vínculo simbólico, no el destino.

FindNextFile

Si la ruta de acceso apunta a un vínculo simbólico, el búfer de WIN32_FIND_DATA contiene información sobre el vínculo simbólico, no el destino.

GetBinaryType

Si la ruta de acceso apunta a un vínculo simbólico, se usa el archivo de destino.

GetCompressedFileSize y GetCompressedFileSizeTransacted

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve el tamaño del archivo del destino.

GetDiskFreeSpace

Si la ruta de acceso apunta a un vínculo simbólico, la operación se realiza en el destino.

GetDiskFreeSpaceEx

Si la ruta de acceso apunta a un vínculo simbólico, la operación se realiza en el destino.

GetFileAttributes

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve atributos para el vínculo simbólico.

GetFileAttributesEx

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve atributos para el vínculo simbólico.

GetFileSecurity

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve atributos para el vínculo simbólico.

GetTempPath

Si la ruta de acceso apunta a un vínculo simbólico, el nombre de la ruta de acceso temporal mantiene los vínculos simbólicos.

GetVolumeInformation

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve información de volumen para el destino.

SetFileAttributes

Si la ruta de acceso apunta a un vínculo simbólico, la función recupera los atributos del vínculo simbólico.

SetFileSecurity

Si la ruta de acceso apunta a un vínculo simbólico, la función devuelve atributos para el vínculo simbólico.

CopyFile

CopyFileTransacted

CopyFileEx

CreateFile

CreateFileTransacted

CreateHardLink

CreateHardLinkTransacted

DeleteFile

DeleteFileTransacted

FindFirstChangeNotification

FindFirstFile

FindFirstFileEx

FindFirstFileTransacted

FindNextFile

GetBinaryType

GetCompressedFileSize

GetCompressedFileSizeTransacted

GetDiskFreeSpace

GetDiskFreeSpaceEx

GetFileAttributes

GetFileAttributesEx

GetFileSecurity

GetTempPath

GetVolumeInformation

SetFileAttributes

SetFileSecurity