Dela via


Referenspunktsåtgärder

För att avgöra om ett filsystem stöder referenspunkter anropar du funktionen GetVolumeInformation och undersöker FILE_SUPPORTS_REPARSE_POINTS bitflaggan.

Med funktionen DeviceIoControl kan du ange, ändra, hämta och ta bort referenspunkter. I följande tabell beskrivs de referenspunktsåtgärder som du kan utföra med DeviceIoControl-.

Operation Beskrivning
FSCTL_SET_REPARSE_POINT Gör att det anropande programmet kan ange en ny referenspunkt eller ändra en befintlig.
FSCTL_GET_REPARSE_POINT Hämtar den information som lagras i en befintlig referenspunkt.
FSCTL_DELETE_REPARSE_POINT Tar bort en befintlig referenspunkt.

Om du ändrar, hämtar eller tar bort en referenspunkt måste du ange samma referenstagg i åtgärden som finns i filen. Annars misslyckas åtgärden med felet ERROR_REPARSE_TAG_MISMATCH. Om du ändrar eller tar bort en referenspunkt måste du också ange GUID- i åtgärden som finns i filen. Annars misslyckas åtgärden med felet ERROR_REPARSE_ATTRIBUTE_CONFLICT.

Om du vill avgöra om en fil eller katalog innehåller en referenspunkt använder du funktionen GetFileAttributes. Om filen eller katalogen har en associerad referenspunkt anges attributet FILE_ATTRIBUTE_REPARSE_POINT.

Om du vill skriva över en befintlig referenspunkt utan att redan ha ett handtag till filen eller katalogen anropar du CreateFile- med FILE_FLAG_OPEN_REPARSE_POINT. Med den här flaggan kan du öppna filen oavsett om motsvarande filsystemfilter är installerat och fungerar korrekt.