FSCTL_SET_ZERO_ON_DEALLOCATION IOCTL (winioctl.h)
Indicates an NTFS file system file handle should have its clusters filled with zeros when it is deallocated. If a file is resident, it is converted to nonresident. When clusters are deallocated, the clusters on a disk are zeroed. If a file is deleted, all clusters associated with the file are zeroed.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device FSCTL_SET_ZERO_ON_DEALLOCATION, // dwIoControlCode NULL, // lpInBuffer 0, // nInBufferSize NULL, // lpOutBuffer 0, // nOutBufferSize (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure );
In Windows 8 and Windows Server 2012, this code is supported by the following technologies.
|Server Message Block (SMB) 3.0 protocol||Yes|
|SMB 3.0 Transparent Failover (TFO)||Yes|
|SMB 3.0 with Scale-out File Shares (SO)||Yes|
|Cluster Shared Volume File System (CsvFS)||Yes|
|Resilient File System (ReFS)||No|
|Minimum supported client||Windows Vista [desktop apps only]|
|Minimum supported server||Windows Server 2008 [desktop apps only]|
|Header||winioctl.h (include Windows.h)|