DecryptFileA 函式 (winbase.h)

解密加密的檔案或目錄。

語法

BOOL DecryptFileA(
  [in] LPCSTR lpFileName,
       DWORD  dwReserved
);

參數

[in] lpFileName

要解密的檔案或目錄名稱。

呼叫端必須具有 FILE_READ_DATAFILE_WRITE_DATAFILE_READ_ATTRIBUTESFILE_WRITE_ATTRIBUTESSYNCHRONIZE 存取權限。 如需詳細資訊,請參閱 檔案安全性和存取權限

dwReserved

保留;必須是零。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

DecryptFile函式需要對正在解密的檔案進行獨佔存取,如果另一個進程正在使用檔案,將會失敗。 如果檔案未加密, DecryptFile 只會傳回非零值,這表示成功。

如果 lpFileName 指定唯讀檔案,則函式會失敗,而 GetLastError 會傳回 ERROR_FILE_READ_ONLY。 如果 lpFileName 指定包含唯讀檔案的目錄,則函式會成功,但不會解密目錄。

在 Windows 8、Windows Server 2012 和更新版本中,下列技術支援此函式。

技術 支援
伺服器訊息區 (SMB) 3.0 通訊協定 Yes
SMB 3.0 透明容錯移轉 (TFO)
具有向外延展檔案共用的 SMB 3.0 (SO)
叢集共用磁片區檔案系統 (CsvFS)
彈性檔案系統 (ReFS)
 

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

注意

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

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll
API 集合 ext-ms-win-advapi32-encryptedfile-l1-1-0 (在 Windows 8)

另請參閱

CreateFile

EncryptFile

檔案加密

檔案管理功能