Effetti di collegamento simbolico sulle funzioni dei file system
Diverse funzioni di file standard che usano nomi di percorso per specificare uno o più file sono interessati dall'uso di collegamenti simbolici. In questo argomento vengono elencate queste 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.
- Destinazione: entità a cui punta un collegamento simbolico.
Nota
Il comportamento delle funzioni che accettano un handle creato usando la funzione CreateFile, ad esempio la funzione GetFileTime, differirà in base al fatto che la funzione CreateFile sia stata chiamata usando il flag di FILE_FLAG_OPEN_REPARSE_POINT. Per altre informazioni, vedere CreateFile e la sezione CreateFile e CreateFileTransacted seguente.
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 esiste alcuna modifica nel comportamento.
- Se il file di destinazione è un collegamento simbolico esistente, il collegamento simbolico viene sovrascritto, non il file di destinazione.
- Se COPY_FILE_FAIL_IF_EXISTS viene specificato anche 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 COPY_FILE_FAIL_IF_EXISTS viene specificato anche e il file di destinazione è un collegamento simbolico esistente, l'operazione ha esito negativo solo se la destinazione del collegamento simbolico esiste.
- Se COPY_FILE_FAIL_IF_EXISTS non è specificato, non esiste alcuna modifica nel comportamento.
Windows Server 2003 e Windows XP: Il flag 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 esiste alcuna modifica nel comportamento.
Se FILE_FLAG_OPEN_REPARSE_POINT è specificato e:
- Se viene aperto un file esistente ed è un collegamento simbolico, l'handle restituito è un handle per il collegamento simbolico.
- Se CREATE_ALWAYS, TRUNCATE_EXISTINGo FILE_FLAG_DELETE_ON_CLOSE vengono specificati, il file interessato è un collegamento simbolico.
Se FILE_FLAG_OPEN_REPARSE_POINT non è specificato e:
- Se viene aperto un file esistente ed è un collegamento simbolico, l'handle restituito è un handle alla destinazione.
- Se CREATE_ALWAYS, TRUNCATE_EXISTINGo FILE_FLAG_DELETE_ON_CLOSE vengono specificati, 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 ha registrato per ricevere notifiche di modifica per una directory che contiene 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 attributi per il collegamento simbolico.
GetFileAttributesEx
Se il percorso punta a un collegamento simbolico, la funzione restituisce attributi per il collegamento simbolico.
GetFileSecurity
Se il percorso punta a un collegamento simbolico, la funzione restituisce attributi per il collegamento simbolico.
GetTempPath
Se il percorso punta a un collegamento simbolico, il nome del percorso temporaneo mantiene eventuali 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 attributi per il collegamento simbolico.
Argomenti correlati