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

另请参阅

文件管理函数

GetFileInformationByHandleEx

SetFileInformationByHandle