// winioctl.h
// CTL_CODE(0x0009, 0x06c, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_SHRINK_VOLUME 0x000901B0
View the official Win32 API referenceNo description available.
Signals that the volume is to be prepared to perform the shrink operation, the shrink operation is to be committed, or the shrink operation is to be terminated.
To perform this operation, call the DeviceIoControl function with the following parameters.
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
);
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.
Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.
This control code is only supported on NTFS and RAW file systems.
To complete a shrink operation, you must:
In Windows 8 and Windows Server 2012, this code is supported by the following technologies.
| Technology | Supported |
|---|---|
| Server Message Block (SMB) 3.0 protocol | No |
| SMB 3.0 Transparent Failover (TFO) | No |
| SMB 3.0 with Scale-out File Shares (SO) | No |
| Cluster Shared Volume File System (CsvFS) | See comment |
Is supported only on the node that has NTFS mounted.