Compartir a través de


estructura MOVE_FILE_DATA (winioctl.h)

Contiene datos de entrada para el código de control FSCTL_MOVE_FILE.

Sintaxis

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

Miembros

FileHandle

Identificador del archivo que se va a mover.

Para recuperar un identificador de un archivo, use CreateFile.

Si el archivo está cifrado, el identificador debe tener el derecho de acceso FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA o FILE_EXECUTE . Para obtener más información, vea Seguridad de archivos y derechos de acceso.

StartingVcn

VcN (número de clúster relativo al principio de un archivo) del primer clúster que se va a mover.

StartingLcn

LcN (número de clúster en un volumen) al que se va a mover el VCN.

ClusterCount

Recuento de clústeres que se van a mover.

Comentarios

Para recuperar datos para rellenar esta estructura, use la función DeviceIoControl con el código de control FSCTL_GET_RETRIEVAL_POINTERS .

No se puede mover el primer clúster de un directorio en un volumen del sistema de archivos FAT.

Cuando sea posible, mueva los datos en bloques alineados entre sí en incrementos de 16 kilobytes (KB). Esto reduce la sobrecarga de copia en escritura cuando se habilitan las instantáneas, ya que aumenta el espacio de instantáneas y se reduce el rendimiento cuando se producen las condiciones siguientes:

  • El tamaño del bloque de solicitud de movimiento es menor o igual que 16 KB.
  • La diferencia de movimiento no está en incrementos de 16 KB.
La diferencia de movimiento es el número de bytes entre el inicio del bloque de origen y el inicio del bloque de destino. En otras palabras, un bloque que comienza en el desplazamiento X (en disco) se puede mover a un desplazamiento inicial Y si el valor absoluto de X menos Y es un múltiplo par de 16 KB. Por lo tanto, suponiendo que los clústeres de 4 KB, se optimizará un traslado del clúster 3 al clúster 27, pero no se moverá del clúster 18 al clúster 24. Tenga en cuenta que mod(3,4) = 3 = mod(27,4). Mod 4 se elige porque cuatro clústeres a 4 KB cada uno equivalen a 16 KB. Por lo tanto, un volumen con formato a un tamaño de clúster de 16 KB dará lugar a que se optimicen todos los archivos de movimiento.

Para obtener más información sobre VSS Writer, consulteServicio de instantáneas de volumen.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluya Windows.h)

Consulte también

Desfragmentación de archivos

FSCTL_GET_RETRIEVAL_POINTERS

FSCTL_MOVE_FILE

GetFileAttributes

GetFileAttributesEx

GetFileInformationByHandle