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:
- CopyFile e CopyFileTransacted
- CopyFileEx
- CreateFile e CreateFileTransacted
- CreateHardLink e CreateHardLinkTransacted
- DeleteFile e DeleteFileTransacted
- FindFirstChangeNotification
- FindFirstFile e FindFirstFileTransacted
- FindFirstFileEx
- FindNextFile
- GetBinaryType
- GetCompressedFileSize e GetCompressedFileSizeTransacted
- GetDiskFreeSpace
- GetDiskFreeSpaceEx
- GetFileAttributes
- GetFileAttributesEx
- GetFileSecurity
- GetTempPath
- GetVolumeInformation
- SetFileAttributes
- SetFileSecurity
- argomenti correlati
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.
CreateHardLink e CreateHardLinkTransacted
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.
Argomenti correlati