Share via


MOVE_FILE_DATA struttura (winioctl.h)

Contiene i dati di input per il codice di controllo FSCTL_MOVE_FILE .

Sintassi

typedef struct {
  HANDLE        FileHandle;
  LARGE_INTEGER StartingVcn;
  LARGE_INTEGER StartingLcn;
  DWORD         ClusterCount;
} MOVE_FILE_DATA, *PMOVE_FILE_DATA;

Members

FileHandle

Handle per il file da spostare.

Per recuperare un handle in un file, usare CreateFile.

Se il file è crittografato, l'handle deve avere il FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA o FILE_EXECUTE diritto di accesso. Per altre informazioni, vedere Sicurezza file e diritti di accesso.

StartingVcn

VcN (numero di cluster relativo all'inizio di un file) del primo cluster da spostare.

StartingLcn

Un numero di cluster (numero di cluster in un volume) in cui deve essere spostato il VCN.

ClusterCount

Numero di cluster da spostare.

Commenti

Per recuperare i dati per compilare questa struttura, usare la funzione DeviceIoControl con il codice di controllo FSCTL_GET_RETRIEVAL_POINTERS .

Non è possibile spostare il primo cluster di una directory in un volume del file system FAT.

Quando possibile, spostare i dati in blocchi allineati tra loro in 16-kilobyte (KB). Ciò riduce il sovraccarico di copia in scrittura quando le copie shadow sono abilitate, perché lo spazio di copia shadow è aumentato e le prestazioni vengono ridotte quando si verificano le condizioni seguenti:

  • Le dimensioni del blocco della richiesta di spostamento sono inferiori o uguali a 16 KB.
  • Il delta di spostamento non è in incrementi di 16 KB.
Il delta di spostamento è il numero di byte tra l'inizio del blocco di origine e l'inizio del blocco di destinazione. In altre parole, un blocco a partire dall'offset X (su disco) può essere spostato in un offset iniziale Y se il valore assoluto di X meno Y è un numero pari a 16 KB. Quindi, supponendo che i cluster a 4 KB, un passaggio da cluster 3 a cluster 27 sarà ottimizzato, ma uno spostamento da cluster 18 a cluster 24 non verrà ottimizzato. Si noti che mod(3,4) = 3 = mod(27,4). Mod 4 è scelto perché quattro cluster a 4 KB ogni è equivalente a 16 KB. Pertanto, un volume formattato in una dimensione del cluster di 16 KB comporta l'ottimizzazione di tutti i file di spostamento.

Per altre informazioni sulle copie shadow, vedere Servizio Copia shadow del volume.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winioctl.h (include Windows.h)

Vedi anche

Deframmentazione di file

FSCTL_GET_RETRIEVAL_POINTERS

FSCTL_MOVE_FILE

GetFileAttributes

GetFileAttributesEx

GetFileInformationByHandle