Condividi tramite


Effetti di collegamento simbolico nelle funzioni dei file system

Diverse funzioni di file standard che usano nomi di percorso per specificare uno o più file sono influenzate dall'uso di collegamenti simbolici. In questo argomento vengono elencate le funzioni e vengono descritte le modifiche apportate al comportamento:

Nelle descrizioni seguenti vengono usati i termini seguenti:

  • File di origine: file originale da copiare.
  • File di destinazione: copia appena creata del file.
  • Target: entità a cui punta un collegamento simbolico.

Nota

Il comportamento delle funzioni che accettano un handle creato usando la funzioneCreateFile, ad esempio la funzioneGetFileTime, varia a seconda che la funzione CreateFile sia stata chiamata usando il flag FILE_FLAG_OPEN_REPARSE_POINT. Per altre informazioni, vedere CreateFile e la sezione CreateFile e CreateFileTransacted.

 

CopyFile e CopyFileTransacted

Se il file di origine è un collegamento simbolico, il file effettivo copiato è la destinazione del collegamento simbolico.

Se il file di destinazione esiste già ed è un collegamento simbolico, la destinazione del collegamento simbolico viene sovrascritta dal file di origine.

CopyFileEx

Se COPY_FILE_COPY_SYMLINK è specificato e:

  • Se il file di origine è un collegamento simbolico, il collegamento simbolico viene copiato, non il file di destinazione.
  • Se il file di origine non è un collegamento simbolico, non viene apportata alcuna modifica al comportamento.
  • Se il file di destinazione è un collegamento simbolico esistente, il collegamento simbolico viene sovrascritto, non il file di destinazione.
  • Se viene specificato anche COPY_FILE_FAIL_IF_EXISTS e il file di destinazione è un collegamento simbolico esistente, l'operazione ha esito negativo in tutti i casi.

Se COPY_FILE_COPY_SYMLINK non è specificato e:

  • Se viene specificato anche COPY_FILE_FAIL_IF_EXISTS e il file di destinazione è un collegamento simbolico esistente, l'operazione ha esito negativo solo se esiste la destinazione del collegamento simbolico.
  • Se COPY_FILE_FAIL_IF_EXISTS non viene specificato, non viene apportata alcuna modifica al comportamento.

Windows Server 2003 e Windows XP: Il flag di COPY_FILE_COPY_SYMLINK non è supportato. Se il file di origine è un collegamento simbolico, il file effettivo copiato è la destinazione del collegamento simbolico.

CreateFile e CreateFileTransacted

Se la chiamata a questa funzione crea un nuovo file, non viene apportata alcuna modifica al comportamento.

Se FILE_FLAG_OPEN_REPARSE_POINT è specificato e:

  • Se un file esistente viene aperto ed è un collegamento simbolico, l'handle restituito è un handle per il collegamento simbolico.
  • Se vengono specificati CREATE_ALWAYS, TRUNCATE_EXISTINGo FILE_FLAG_DELETE_ON_CLOSE, il file interessato è un collegamento simbolico.

Se FILE_FLAG_OPEN_REPARSE_POINT non è specificato e:

  • Se un file esistente viene aperto ed è un collegamento simbolico, l'handle restituito è un handle per la destinazione.
  • Se vengono specificati CREATE_ALWAYS, TRUNCATE_EXISTINGo FILE_FLAG_DELETE_ON_CLOSE, il file interessato è la destinazione.

Se il percorso punta a un collegamento simbolico, la funzione crea un collegamento rigido alla destinazione.

DeleteFile e DeleteFileTransacted

Se il percorso punta a un collegamento simbolico, il collegamento simbolico viene eliminato, non la destinazione. Per eliminare una destinazione, è necessario chiamare CreateFile e specificare FILE_FLAG_DELETE_ON_CLOSE.

FindFirstChangeNotification

Se il percorso punta a un collegamento simbolico, l'handle di notifica viene creato per la destinazione. Se un'applicazione è stata registrata per ricevere notifiche di modifica per una directory contenente collegamenti simbolici, l'applicazione riceve una notifica solo quando i collegamenti simbolici sono stati modificati, non i file di destinazione.

FindFirstFile e FindFirstFileTransacted

Se il percorso punta a un collegamento simbolico, il buffer WIN32_FIND_DATA contiene informazioni sul collegamento simbolico, non sulla destinazione.

FindFirstFileEx

Se il percorso punta a un collegamento simbolico, il buffer WIN32_FIND_DATA contiene informazioni sul collegamento simbolico, non sulla destinazione.

FindNextFile

Se il percorso punta a un collegamento simbolico, il buffer WIN32_FIND_DATA contiene informazioni sul collegamento simbolico, non sulla destinazione.

GetBinaryType

Se il percorso punta a un collegamento simbolico, viene usato il file di destinazione.

GetCompressedFileSize e GetCompressedFileSizeTransacted

Se il percorso punta a un collegamento simbolico, la funzione restituisce le dimensioni del file della destinazione.

GetDiskFreeSpace

Se il percorso punta a un collegamento simbolico, l'operazione viene eseguita sulla destinazione.

GetDiskFreeSpaceEx

Se il percorso punta a un collegamento simbolico, l'operazione viene eseguita sulla destinazione.

GetFileAttributes

Se il percorso punta a un collegamento simbolico, la funzione restituisce gli attributi per il collegamento simbolico.

GetFileAttributesEx

Se il percorso punta a un collegamento simbolico, la funzione restituisce gli attributi per il collegamento simbolico.

GetFileSecurity

Se il percorso punta a un collegamento simbolico, la funzione restituisce gli attributi per il collegamento simbolico.

GetTempPath

Se il percorso punta a un collegamento simbolico, il nome del percorso temporaneo mantiene tutti i collegamenti simbolici.

GetVolumeInformation

Se il percorso punta a un collegamento simbolico, la funzione restituisce informazioni sul volume per la destinazione.

SetFileAttributes

Se il percorso punta a un collegamento simbolico, la funzione recupera gli attributi per il collegamento simbolico.

SetFileSecurity

Se il percorso punta a un collegamento simbolico, la funzione restituisce gli attributi per il collegamento simbolico.

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