estrutura MOVE_FILE_DATA (winioctl.h)

Contém dados de entrada para o código de controle FSCTL_MOVE_FILE.

Sintaxe

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

Membros

FileHandle

Um identificador para o arquivo a ser movido.

Para recuperar um identificador para um arquivo, use CreateFile.

Se o arquivo for criptografado, o identificador deverá ter o direito de acesso FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA ou FILE_EXECUTE . Para obter mais informações, consulte Segurança de arquivos e Direitos de Acesso.

StartingVcn

Um VCN (número de cluster relativo ao início de um arquivo) do primeiro cluster a ser movido.

StartingLcn

Um LCN (número de cluster em um volume) para o qual o VCN deve ser movido.

ClusterCount

A contagem de clusters a serem movidos.

Comentários

Para recuperar dados para preencher essa estrutura, use a função DeviceIoControl com o código de controle FSCTL_GET_RETRIEVAL_POINTERS .

O primeiro cluster de um diretório em um volume do sistema de arquivos FAT não pode ser movido.

Quando possível, mova os dados em blocos alinhados uns com os outros em incrementos de 16 KB (quilobytes). Isso reduz a sobrecarga de cópia na gravação quando as cópias de sombra estão habilitadas, pois o espaço de cópia de sombra é aumentado e o desempenho é reduzido quando ocorrem as seguintes condições:

  • O tamanho do bloco de solicitação de movimentação é inferior ou igual a 16 KB.
  • O delta de movimentação não está em incrementos de 16 KB.
O delta de movimentação é o número de bytes entre o início do bloco de origem e o início do bloco de destino. Em outras palavras, um bloco que começa no deslocamento X (em disco) poderá ser movido para um deslocamento inicial Y se o valor absoluto de X menos Y for um múltiplo par de 16 KB. Portanto, considerando clusters de 4 KB, uma movimentação do cluster 3 para o cluster 27 será otimizada, mas uma movimentação do cluster 18 para o cluster 24 não será. Observe que mod(3,4) = 3 = mod(27,4). Mod 4 é escolhido porque quatro clusters com 4 KB cada um é equivalente a 16 KB. Portanto, um volume formatado para um tamanho de cluster de 16 KB resultará na otimização de todos os arquivos de movimentação.

Para obter mais informações sobre as cópias de sombra, confira Serviço de Cópias de Sombra de Volume.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)

Confira também

Como desfragmentar arquivos

FSCTL_GET_RETRIEVAL_POINTERS

FSCTL_MOVE_FILE

GetFileAttributes

GetFileAttributesEx

GetFileInformationByHandle