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 版本,请使用管理员访问权限打开命令提示符并执行以下命令:
fsutil fsinfo ntfsinfo X:
其中 X 是卷的驱动器号。
在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 否 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 是 |
事务处理操作
如果使用事务锁定的句柄调用 FSCTL_WRITE_USN_CLOSE_RECORD ,则始终失败。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈