FSCTL_SET_ZERO_ON_DEALLOCATION IOCTL (winioctl.h)
NTFS ファイル システムのファイル ハンドルの割り当てが解除されるときに、そのクラスターを 0 で埋めるように指示します。 ファイルが常駐している場合は、非residentに変換されます。 クラスターの割り当てが解除されると、ディスク上のクラスターはゼロになります。 ファイルが削除されると、そのファイルに関連付けられているすべてのクラスターがゼロになります。
この操作を実行するには、次のパラメーターを使用して 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 Transparent Failover (TFO) | はい |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | はい |
クラスターの共有ボリューム ファイル システム (CsvFS) | はい |
Resilient File System (ReFS) | いいえ |
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
Header | winioctl.h (Windows.h を含む) |