FileEncryptionStatusA 函数 (winbase.h)

检索指定文件的加密状态。

语法

BOOL FileEncryptionStatusA(
  [in]  LPCSTR  lpFileName,
  [out] LPDWORD lpStatus
);

参数

[in] lpFileName

文件的名称。

[out] lpStatus

指向接收文件的加密状态的变量的指针。 此参数可以是下列值之一。

价值 意义
FILE_ENCRYPTABLE
0
可以加密文件。

家庭版、家庭高级版、入门版和 ARM 版 Windows:可能会返回 FILE_ENCRYPTABLE,但 EFS 不支持在这些版本的 Windows 上加密文件。

FILE_IS_ENCRYPTED
1
文件已加密。
FILE_READ_ONLY
8
该文件是只读文件。
FILE_ROOT_DIR
3
该文件是根目录。 无法加密根目录。
FILE_SYSTEM_ATTR
2
该文件是系统文件。 无法加密系统文件。
FILE_SYSTEM_DIR
4
该文件是系统目录。 无法加密系统目录。
FILE_SYSTEM_NOT_SUPPORT
6
文件系统不支持文件加密。
FILE_UNKNOWN
5
加密状态未知。 该文件可能已加密。
FILE_USER_DISALLOWED
7
保留以供将来使用。

返回值

如果函数成功,则返回值为非零。

如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError

言论

在 Windows 8 和 Windows Server 2012 中,以下技术支持此函数。

科技 支持
服务器消息块 (SMB) 3.0 协议 是的
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CsvFS)
可复原文件系统 (ReFS)
 

SMB 3.0 不支持具有持续可用性功能的共享上的 EFS。

注意

winbase.h 标头将 FileEncryptionStatus 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP Professional [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 winbase.h (包括 Windows.h)
Advapi32.lib
DLL Advapi32.dll

另请参阅

EncryptFile

文件加密

文件管理功能