Dela via


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:

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.

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.

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