FSCTL_LOOKUP_STREAM_FROM_CLUSTER IOCTL (winioctl.h)
在给定 NTFS 卷或 NTFS 卷上文件的句柄的情况下,返回描述占用指定群集的流的数据结构链。
重要
FSCTL_LOOKUP_STREAM_FROM_CLUSTER 是一种资源密集型操作,通常使用大量的磁盘带宽、内存和时间。 大部分此信息不太可能保留在缓存中,因此第二次调用 FSCTL_LOOKUP_STREAM_FROM_CLUSTER 所需的时间几乎与第一次调用的时间相同。 对于执行多个查找,使用 FSCTL_ENUM_USN_DATA 枚举每个 MFT 记录,然后使用 FSCTL_GET_RETRIEVAL_POINTERS 收集数据以在群集和流之间映射会更有效。
若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to file, directory, or volume
FSCTL_LOOKUP_STREAM_FROM_CLUSTER, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
注解
在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 否 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 是 |
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |