FSCTL_SET_ZERO_ON_DEALLOCATION IOCTL (winioctl.h)

指示 NTFS 文件系统文件句柄在解除分配时应使用零来填充其群集。 如果文件是常驻文件,则将其转换为非驻留文件。 解除分配群集后,磁盘上的群集将被归零。 如果删除了某个文件,则与该文件关联的所有群集都将被归零。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。

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

注解

在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。

技术 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)
弹性文件系统 (ReFS)

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅