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 通訊協定 Yes
SMB 3.0 透明故障轉移 (TFO) No
具有向外延展檔案共用的SMB 3.0 (SO) No
叢集共用磁碟區文件系統 (CsvFS) No
彈性檔案系統 (ReFS) No
 

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

注意

winbase.h 標頭會根據 UNICODE 預處理器常數的定義,將 FileEncryptionStatus 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

EncryptFile

檔案加密

檔案管理功能