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 结构中返回的 VolumeSerialNumberFileIndex 成员,以确定两个路径是否映射到同一目标;例如,可以比较两个文件路径,并确定它们是否映射到同一目录。

在 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