Compartilhar via


Efeitos simbólicos de vínculo em funções de sistemas de arquivos

Várias funções de arquivo padrão que usam nomes de caminho para especificar um ou mais arquivos são afetadas pelo uso de links simbólicos. Este tópico lista essas funções e descreve as alterações no comportamento:

Nas descrições abaixo, os seguintes termos são usados:

  • Arquivo de origem — o arquivo original que deve ser copiado.
  • Arquivo de destino — a cópia recém-criada do arquivo.
  • Destino – a entidade para a qual um link simbólico aponta.

Observação

O comportamento das funções que aceitam um identificador criado usando a função CreateFile , como a função GetFileTime , será diferente com base em se a função CreateFile foi chamada ou não usando o sinalizador FILE_FLAG_OPEN_REPARSE_POINT . Para obter mais informações, consulte CreateFile e a seguinte seção CreateFile e CreateFileTransacted .

 

CopyFile e CopyFileTransacted

Se o arquivo de origem for um link simbólico, o arquivo real copiado será o destino do link simbólico.

Se o arquivo de destino já existir e for um link simbólico, o destino do link simbólico será substituído pelo arquivo de origem.

CopyFileEx

Se COPY_FILE_COPY_SYMLINK for especificado e:

  • Se o arquivo de origem for um link simbólico, o link simbólico será copiado, não o arquivo de destino.
  • Se o arquivo de origem não for um link simbólico, não haverá alteração no comportamento.
  • Se o arquivo de destino for um link simbólico existente, o link simbólico será substituído, não o arquivo de destino.
  • Se COPY_FILE_FAIL_IF_EXISTS também for especificado e o arquivo de destino for um link simbólico existente, a operação falhará em todos os casos.

Se COPY_FILE_COPY_SYMLINK não for especificado e:

  • Se COPY_FILE_FAIL_IF_EXISTS também for especificado e o arquivo de destino for um link simbólico existente, a operação falhará somente se o destino do link simbólico existir.
  • Se COPY_FILE_FAIL_IF_EXISTS não for especificado, não haverá alteração no comportamento.

Windows Server 2003 e Windows XP: Não há suporte para o sinalizador COPY_FILE_COPY_SYMLINK . Se o arquivo de origem for um link simbólico, o arquivo real copiado será o destino do link simbólico.

CreateFile e CreateFileTransacted

Se a chamada para essa função criar um novo arquivo, não haverá alteração no comportamento.

Se FILE_FLAG_OPEN_REPARSE_POINT for especificado e:

  • Se um arquivo existente for aberto e for um link simbólico, o identificador retornado será um identificador para o link simbólico.
  • Se CREATE_ALWAYS, TRUNCATE_EXISTING ou FILE_FLAG_DELETE_ON_CLOSE forem especificados, o arquivo afetado será um link simbólico.

Se FILE_FLAG_OPEN_REPARSE_POINT não for especificado e:

  • Se um arquivo existente for aberto e for um link simbólico, o identificador retornado será um identificador para o destino.
  • Se CREATE_ALWAYS, TRUNCATE_EXISTING ou FILE_FLAG_DELETE_ON_CLOSE forem especificados, o arquivo afetado será o destino.

Se o caminho apontar para um link simbólico, a função criará um link rígido para o destino.

DeleteFile e DeleteFileTransacted

Se o caminho apontar para um link simbólico, o link simbólico será excluído, não o destino. Para excluir um destino, você deve chamar CreateFile e especificar FILE_FLAG_DELETE_ON_CLOSE.

FindFirstChangeNotification

Se o caminho apontar para um link simbólico, o identificador de notificação será criado para o destino. Se um aplicativo tiver se registrado para receber notificações de alteração para um diretório que contenha links simbólicos, o aplicativo só será notificado quando os links simbólicos forem alterados, não os arquivos de destino.

FindFirstFile e FindFirstFileTransacted

Se o caminho apontar para um link simbólico, o buffer WIN32_FIND_DATA conterá informações sobre o link simbólico, não o destino.

Findfirstfileex

Se o caminho apontar para um link simbólico, o buffer WIN32_FIND_DATA conterá informações sobre o link simbólico, não o destino.

Findnextfile

Se o caminho apontar para um link simbólico, o buffer WIN32_FIND_DATA conterá informações sobre o link simbólico, não o destino.

GetBinaryType

Se o caminho apontar para um link simbólico, o arquivo de destino será usado.

GetCompressedFileSize e GetCompressedFileSizeTransacted

Se o caminho apontar para um link simbólico, a função retornará o tamanho do arquivo do destino.

GetDiskFreeSpace

Se o caminho apontar para um link simbólico, a operação será executada no destino.

Getdiskfreespaceex

Se o caminho apontar para um link simbólico, a operação será executada no destino.

GetFileAttributes

Se o caminho apontar para um link simbólico, a função retornará atributos para o link simbólico.

GetFileAttributesEx

Se o caminho apontar para um link simbólico, a função retornará atributos para o link simbólico.

GetFileSecurity

Se o caminho apontar para um link simbólico, a função retornará atributos para o link simbólico.

GetTempPath

Se o caminho apontar para um link simbólico, o nome do caminho temporário manterá todos os links simbólicos.

GetVolumeInformation

Se o caminho apontar para um link simbólico, a função retornará informações de volume para o destino.

SetFileAttributes

Se o caminho apontar para um link simbólico, a função recuperará atributos para o link simbólico.

SetFileSecurity

Se o caminho apontar para um link simbólico, a função retornará atributos para o link 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