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 [僅限傳統型應用程式]
目標平台 Windows
標頭 winefs.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

檔案加密

檔案管理功能

SECURITY_ATTRIBUTES