FSCTL_WRITE_USN_CLOSE_RECORD IOCTL (winioctl.h)
在输入文件的更新序列号(USN)更改日记流中生成记录。 此记录将具有 USN_REASON_CLOSE 标志。
若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。
C++ |
---|
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to volume FSCTL_WRITE_USN_CLOSE_RECORD, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSize(LPVOID) lpOutBuffer, // output buffer (DWORD) nOutBufferSize, // size of output buffer (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure |
言论
有关此操作的重叠 I/O 的影响,请参阅 DeviceIoControl的“备注”部分。
可以使用 FSCTL_WRITE_USN_CLOSE_RECORD 强制关闭记录到输入句柄的更改日志中。 关闭记录还将包含此文件的任何当前 USN 原因。 输出缓冲区将返回与此操作关联的 USN 值。
有关详细信息,请参阅 创建、修改和删除更改日记。
若要检索卷的句柄,请调用 CreateFile,lpFileName 参数设置为以下格式的字符串:
\\.\X:
在前面的字符串中,X 是标识卷所在的驱动器的字母。 卷必须是 NTFS 3.0 或更高版本。 若要获取卷的 NTFS 版本,请使用管理员访问权限打开命令提示符并执行以下命令:
fsinfo ntfsinfo X:
其中,X 是卷的驱动器号。
在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。
科技 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 不 |
SMB 3.0 透明故障转移 (TFO) | 不 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 不 |
群集共享卷文件系统 (CsvFS) | 是的 |
事务处理操作
如果使用事务锁定的句柄调用 FSCTL_WRITE_USN_CLOSE_RECORD,则它始终会失败。要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |