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)

另请参阅

更改日志

CreateFile

DeviceIoControl

OVERLAPPED

卷管理控制代码