FSCTL_SET_ZERO_ON_DEALLOCATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// winioctl.h

// CTL_CODE(0x0009, 0x065, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_SET_ZERO_ON_DEALLOCATION 0x00090194
View the official Win32 API reference

NtDoc

No description available.

Win32 API reference (ni-winioctl-fsctl_set_zero_on_deallocation)

FSCTL_SET_ZERO_ON_DEALLOCATION IOCTL

Description

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
);

Parameters

Input buffer

Input buffer length

Output buffer

Output buffer length

Input/output buffer

Input/output buffer length

Status block

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.

Remarks

In Windows 8 and Windows Server 2012, this code is supported by the following technologies.

Technology Supported
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

See also