Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Sinaliza que o volume deve estar preparado para executar a operação de redução, a operação de redução deve ser confirmada ou a operação de redução deve ser encerrada.
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_SHRINK_VOLUME, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
nInBufferSize, // size of input buffer
NULL, // output buffer
O, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Comentários
Esse código de controle só tem suporte em sistemas de arquivos NTFS e RAW.
Para concluir uma operação de redução, você deve:
- Chame CreateFile para abrir um identificador para o volume.
- Chame FSCTL_SHRINK_VOLUME. Defina o membro ShrinkRequestType da estrutura SHRINK_VOLUME_INFORMATION como ShrinkPrepare. Defina o membro NewNumberOfSectors da mesma estrutura como zero. Se essa chamada for bem-sucedida, o sistema de arquivos não alocará clusters além do final do novo comprimento do volume.
- Chame FSCTL_MOVE_FILE em todos os arquivos além do novo número de setores e mova-os dentro do intervalo válido. Você é responsável por mover todos os arquivos afetados pela operação de redução.
- Chame FSCTL_SHRINK_VOLUME. Defina o membro ShrinkRequestType da estrutura SHRINK_VOLUME_INFORMATION como ShrinkCommit. Defina o membro NewNumberOfSectors da mesma estrutura como zero. Se todos os arquivos além do final do novo tamanho do volume não tiverem sido movidos, a chamada falhará com STATUS_ALREADY_COMMITTED (ERROR_ACCESS_DENIED). Caso contrário, o sistema de arquivos agora foi reduzido.
- Chame IOCTL_DISK_GROW_PARTITION. Defina o membro BytesToGrow da estrutura DISK_GROW_PARTITION como o número negativo que representa o número de bytes a serem removidos.
Em Windows 8 e Windows Server 2012, esse código é compatível com as tecnologias a seguir.
| Tecnologia | Com suporte |
|---|---|
| Protocolo SMB (SMB) 3.0 | No |
| TFO (Failover transparente) do SMB 3.0 | No |
| SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | No |
| Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Ver comentário |
Só há suporte no nó que tem NTFS montado.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
| Cabeçalho | winioctl.h (inclua Windows.h) |