Symboliska länkeffekter på filsystemfunktioner
Flera standardfilfunktioner som använder sökvägsnamn för att ange en eller flera filer påverkas av användningen av symboliska länkar. Det här avsnittet visar dessa funktioner och beskriver beteendeändringarna:
- CopyFile och CopyFileTransacted
- CopyFileEx
- CreateFile och CreateFileTransacted
- CreateHardLink och CreateHardLinkTransacted
- DeleteFile och DeleteFileTransacted
- FindFirstChangeNotification
- FindFirstFile och FindFirstFileTransacted
- FindFirstFileEx
- FindNextFile
- GetBinaryType
- GetCompressedFileSize och GetCompressedFileSizeTransacted
- GetDiskFreeSpace
- GetDiskFreeSpaceEx
- GetFileAttributes
- GetFileAttributesEx
- GetFileSecurity
- GetTempPath
- GetVolumeInformation
- SetFileAttributes
- SetFileSecurity
- Relaterade ämnen
I beskrivningarna nedan används följande termer:
- Källfil – den ursprungliga fil som ska kopieras.
- Målfil – den nyligen skapade kopian av filen.
- Target – entiteten som en symbolisk länk pekar på.
Not
Beteendet för funktioner som accepterar ett handtag som skapats med funktionen CreateFile, till exempel funktionen GetFileTime, skiljer sig beroende på om funktionen CreateFile anropades med hjälp av flaggan FILE_FLAG_OPEN_REPARSE_POINT. Mer information finns i avsnittet CreateFile och följande CreateFile och CreateFileTransacted.
CopyFile och CopyFileTransacted
Om källfilen är en symbolisk länk är den faktiska filen som kopieras målet för den symboliska länken.
Om målfilen redan finns och är en symbolisk länk skrivs målet för den symboliska länken över av källfilen.
CopyFileEx
Om COPY_FILE_COPY_SYMLINK anges och:
- Om källfilen är en symbolisk länk kopieras den symboliska länken, inte målfilen.
- Om källfilen inte är en symbolisk länk ändras inte beteendet.
- Om målfilen är en befintlig symbolisk länk skrivs den symboliska länken över, inte målfilen.
- Om COPY_FILE_FAIL_IF_EXISTS också anges och målfilen är en befintlig symbolisk länk misslyckas åtgärden i alla fall.
Om COPY_FILE_COPY_SYMLINK inte har angetts och:
- Om COPY_FILE_FAIL_IF_EXISTS också anges och målfilen är en befintlig symbolisk länk misslyckas åtgärden endast om målet för den symboliska länken finns.
- Om COPY_FILE_FAIL_IF_EXISTS inte har angetts ändras inte beteendet.
Windows Server 2003 och Windows XP: Flaggan COPY_FILE_COPY_SYMLINK stöds inte. Om källfilen är en symbolisk länk är den faktiska filen som kopieras målet för den symboliska länken.
CreateFile och CreateFileTransacted
Om anropet till den här funktionen skapar en ny fil ändras inte beteendet.
Om FILE_FLAG_OPEN_REPARSE_POINT anges och:
- Om en befintlig fil öppnas och det är en symbolisk länk är handtaget som returneras ett handtag till den symboliska länken.
- Om CREATE_ALWAYS, TRUNCATE_EXISTINGeller FILE_FLAG_DELETE_ON_CLOSE anges är filen som påverkas en symbolisk länk.
Om FILE_FLAG_OPEN_REPARSE_POINT inte har angetts och:
- Om en befintlig fil öppnas och det är en symbolisk länk är handtaget som returneras ett handtag till målet.
- Om CREATE_ALWAYS, TRUNCATE_EXISTINGeller FILE_FLAG_DELETE_ON_CLOSE anges är den fil som påverkas målet.
CreateHardLink och CreateHardLinkTransacted
Om sökvägen pekar på en symbolisk länk skapar funktionen en hård länk till målet.
DeleteFile och DeleteFileTransacted
Om sökvägen pekar på en symbolisk länk tas den symboliska länken bort, inte målet. Om du vill ta bort ett mål måste du anropa CreateFile och ange FILE_FLAG_DELETE_ON_CLOSE.
FindFirstChangeNotification
Om sökvägen pekar på en symbolisk länk skapas meddelandehandtaget för målet. Om ett program har registrerat sig för att ta emot ändringsmeddelanden för en katalog som innehåller symboliska länkar meddelas programmet endast när de symboliska länkarna har ändrats, inte målfilerna.
FindFirstFile och FindFirstFileTransacted
Om sökvägen pekar på en symbolisk länk innehåller den WIN32_FIND_DATA bufferten information om den symboliska länken, inte målet.
FindFirstFileEx
Om sökvägen pekar på en symbolisk länk innehåller den WIN32_FIND_DATA bufferten information om den symboliska länken, inte målet.
FindNextFile
Om sökvägen pekar på en symbolisk länk innehåller den WIN32_FIND_DATA bufferten information om den symboliska länken, inte målet.
GetBinaryType
Om sökvägen pekar på en symbolisk länk används målfilen.
GetCompressedFileSize och GetCompressedFileSizeTransacted
Om sökvägen pekar på en symbolisk länk returnerar funktionen målets filstorlek.
GetDiskFreeSpace
Om sökvägen pekar på en symbolisk länk utförs åtgärden på målet.
GetDiskFreeSpaceEx
Om sökvägen pekar på en symbolisk länk utförs åtgärden på målet.
GetFileAttributes
Om sökvägen pekar på en symbolisk länk returnerar funktionen attribut för den symboliska länken.
GetFileAttributesEx
Om sökvägen pekar på en symbolisk länk returnerar funktionen attribut för den symboliska länken.
GetFileSecurity
Om sökvägen pekar på en symbolisk länk returnerar funktionen attribut för den symboliska länken.
GetTempPath
Om sökvägen pekar på en symbolisk länk behåller namnet på den temporära sökvägen eventuella symboliska länkar.
GetVolumeInformation
Om sökvägen pekar på en symbolisk länk returnerar funktionen volyminformation för målet.
SetFileAttributes
Om sökvägen pekar på en symbolisk länk hämtar funktionen attribut för den symboliska länken.
SetFileSecurity
Om sökvägen pekar på en symbolisk länk returnerar funktionen attribut för den symboliska länken.
Relaterade ämnen