Collegamenti rigidi e giunzioni

Il file system NTFS supporta tre tipi di collegamenti file: collegamenti rigidi, giunzioni e collegamenti simbolici. Questo articolo è una panoramica dei collegamenti rigidi e delle giunzioni. Per informazioni sui collegamenti simbolici, vedere Creare collegamenti simbolici.

Un collegamento rigido è la rappresentazione del file system di un file in base al quale più di un percorso fa riferimento a un singolo file nello stesso volume. Per creare un collegamento rigido, usare la funzione CreateHardLinkA .

Tutte le modifiche apportate a un file collegato rigido sono immediatamente visibili alle applicazioni che lo accedono tramite i collegamenti che lo fanno riferimento. Gli attributi del file vengono riflessi in ogni collegamento rigido a tale file e le modifiche apportate agli attributi del file vengono propagate a tutti i collegamenti rigidi. Tuttavia, le dimensioni della voce della directory e le informazioni sull'attributo del file vengono aggiornate in modo visibile solo al collegamento tramite cui è stata apportata la modifica. Ad esempio, se si cancella il flag di attributo di sola lettura in un particolare collegamento rigido in modo da eliminare tale collegamento rigido e sono presenti più collegamenti rigidi al file, gli altri collegamenti rigidi visualizzano che l'attributo di sola lettura è ancora impostato, che non è vero. Per modificare il file allo stato di sola lettura, è necessario impostare il flag di sola lettura sul file da uno dei collegamenti rigidi rimanenti.

Ad esempio, in un sistema in cui C: e D: sono unità locali e Z: è un'unità di rete mappata a \\fred\share, i riferimenti seguenti sono consentiti come collegamento rigido:

  • C:\dira\ethel.txt collegato a C:\dirb\dirc\lucy.txt
  • D:\dir1\tinker.txt collegato a D:\dir2\dirx\bell.txt
  • C:\diry\bob.bak collegato a C:\dir2\mina.txt

I riferimenti seguenti non sono consentiti:

  • C:\dira collegata a C:\dirb
  • C:\dira\ethel.txt collegato a D:\dirb\lucy.txt
  • C:\dira\ethel.txt collegato a Z:\dirb\lucy.txt

Per eliminare un collegamento rigido, usare la funzione DeleteFileA . È possibile eliminare collegamenti rigidi in qualsiasi ordine indipendentemente dall'ordine in cui vengono creati.

Giunzioni

Una giunzione (chiamata anche collegamento temporanea) differisce da un collegamento rigido in cui gli oggetti di archiviazione a cui fa riferimento sono directory separate. Una giunzione può anche collegare directory in volumi locali diversi nello stesso computer. In caso contrario, le giunzioni funzionano in modo identico ai collegamenti rigidi. Le giunzioni vengono implementate tramite punti di ripristino.

Supponendo le stesse condizioni nella sezione Collegamenti rigidi, i riferimenti seguenti sono consentiti come giunzioni:

  • C:\dira collegata a C:\dirb\dirc
  • C:\dirx collegato a D:\diry

I riferimenti seguenti non sono consentiti:

  • C:\dira\one.txt collegato a C:\dirb\two.txt
  • C:\dir1 collegato a Z:\dir2

Vedi anche

Creazione di collegamenti simbolici