GetFileInformationByHandle 函数 (fileapi.h)
检索指定文件的文件信息。
有关此函数的更高级版本,请参阅 GetFileInformationByHandleEx。
若要使用文件句柄设置文件信息,请参阅 SetFileInformationByHandle。
语法
BOOL GetFileInformationByHandle(
[in] HANDLE hFile,
[out] LPBY_HANDLE_FILE_INFORMATION lpFileInformation
);
参数
[in] hFile
包含要检索的信息的文件句柄。
此句柄不应是管道句柄。
[out] lpFileInformation
指向接收文件信息的 BY_HANDLE_FILE_INFORMATION 结构的指针。
返回值
如果函数成功,则返回值为非零值,并且文件信息数据包含在 lpFileInformation 参数指向的缓冲区中。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
根据操作系统的基础网络功能和连接到的服务器类型, GetFileInformationByHandle 函数可能会失败、返回部分信息或给定文件的完整信息。
可以比较在 BY_HANDLE_FILE_INFORMATION 结构中返回的 VolumeSerialNumber 和 FileIndex 成员,以确定两个路径是否映射到同一目标;例如,可以比较两个文件路径,并确定它们是否映射到同一目录。
在 I Windows 8 和 Windows Server 2012 中,以下技术支持此函数。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 是 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 是 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
事务处理操作
如果在调用时有事务绑定到线程,则该函数将返回独立文件视图的压缩文件大小。 有关详细信息,请参阅 关于事务性 NTFS。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | fileapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |