共用方式為


DuplicateEncryptionInfoFile 函式 (winefs.h)

將 EFS 元數據從一個檔案或目錄複製到另一個檔案。

語法

DWORD DuplicateEncryptionInfoFile(
  [in]           LPCWSTR                     SrcFileName,
  [in]           LPCWSTR                     DstFileName,
  [in]           DWORD                       dwCreationDistribution,
  [in]           DWORD                       dwAttributes,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

參數

[in] SrcFileName

要從中複製 EFS 元數據的檔案或目錄名稱。 此原始程式檔或目錄必須加密。

[in] DstFileName

要複製 EFS 元數據的檔案或目錄名稱。

呼叫此函式之前,不需要加密此目的地檔案或目錄;不過,如果此函式順利完成,則會加密。

如果 SrcFileName 的值 指定檔案,此參數的值也必須指定檔案,同樣地指定目錄。 如果具有此參數所指定名稱的檔案或目錄不存在,則會建立檔案或目錄(視 SrcFileName 指定檔案或目錄而定)。

[in] dwCreationDistribution

描述如何開啟 DstFileName 參數值所識別的目的地檔案或目錄。 以下是此參數的有效值。

價值 意義
CREATE_ALWAYS
2
一律建立目的地檔案或目錄。 CREATE_NEW 以外的任何傳入此參數的值都會以 CREATE_ALWAYS處理。
CREATE_NEW
1
只有在目的地檔案或目錄不存在時,才建立它。 如果存在,而且指定這個值,此函式將會失敗。

[in] dwAttributes

目的地檔案或目錄的檔案屬性。 此函式目前不會處理 FILE_READ_ONLY 屬性。

[in, optional] lpSecurityAttributes

SECURITY_ATTRIBUTES 結構的指標,指定目的地檔案或目錄的安全性屬性,如果不存在的話。 如果您指定 NULL,則檔案或目錄會取得預設的安全性描述元。 檔案或目錄的預設安全性描述元中的 ACL 會繼承自其父目錄。

傳回值

如果函式成功,則傳回值會 ERROR_SUCCESS

如果函式失敗,傳回值就是系統錯誤碼。 如需錯誤碼的完整清單,請參閱 系統錯誤碼 或頭檔 WinError.h。

言論

EFS 需要對目的地檔案或目錄的獨佔存取權,才能呼叫此函式。 如果未提供此存取權,此函式將會失敗。

呼叫端應具有來源檔案或目錄的 EFS 金鑰,以及來源檔案或目錄的至少 READ_ATTRIBUTE ACL。

指定的來源和目的地檔案或目錄應該位於同一部計算機上;否則,將會傳回錯誤。

在 Windows 8 和 Windows Server 2012 中,下列技術支援此功能。

科技 支援
伺服器消息塊 (SMB) 3.0 通訊協定 是的
SMB 3.0 透明故障轉移 (TFO)
具有向外延展檔案共用的SMB 3.0(SO)
叢集共用磁碟區檔案系統 (CsvFS)
復原檔案系統 (ReFS)
 

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

要求

要求 價值
最低支援的用戶端 Windows XP Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winefs.h (包括 Windows.h)
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

檔案加密

檔案管理功能

SECURITY_ATTRIBUTES