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 值。

有关详细信息,请参阅 创建、修改和删除更改日记

若要检索卷的句柄,请调用 CreateFilelpFileName 参数设置为以下格式的字符串:

\\.\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)

另请参阅

变更日记

CreateFile

DeviceIoControl

重叠的

卷管理控制代码