WriteEncryptedFileRaw 函式 (winbase.h)

還原 (匯入) 加密檔案。 這是一組加密檔案系統 (EFS) 函式,用來實作備份和還原功能,同時維持其加密狀態的檔案。

語法

DWORD WriteEncryptedFileRaw(
  [in]           PFE_IMPORT_FUNC pfImportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

參數

[in] pfImportCallback

匯入回呼函式的指標。 系統會多次呼叫回呼函式,每次傳遞由回呼函式填入的緩衝區時,都會有一部份備份的檔案資料。 當回呼函式發出整個檔案已處理的訊號時,它會告訴系統還原作業已完成。 如需詳細資訊,請參閱 ImportCallback

[in, optional] pvCallbackContext

應用程式定義的和已配置內容區塊的指標。 系統會將此指標傳遞至回呼函式做為參數,讓回呼函式可以存取應用程式特定的資料。 這可以是結構,而且可以包含應用程式所需的任何資料,例如將包含加密檔案備份複本之檔案的控制碼。

[in] pvContext

系統定義內容區塊的指標。 內容區塊是由 OpenEncryptedFileRaw 函式傳回。 請勿修改該字串。

傳回值

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

如果函式失敗,它會傳回 WinError.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標,以取得錯誤的一般文字描述。

備註

正在還原的檔案不會解密;它會以其加密狀態還原。

若要備份加密的檔案,請呼叫 OpenEncryptedFileRaw 來開啟檔案。 然後呼叫 ReadEncryptedFileRaw,並傳遞應用程式定義匯出回呼函式的位址。 系統會多次呼叫此回呼函式,直到整個檔案的內容已讀取和備份為止。 備份完成時,請呼叫 CloseEncryptedFileRaw 以釋放資源並關閉檔案。 如需如何宣告匯出回呼函式的詳細資訊,請參閱 ExportCallback

若要還原加密的檔案,請呼叫OpenEncryptedFileRaw,並在ulFlags參數中指定CREATE_FOR_IMPORT。 然後呼叫 WriteEncryptedFileRaw,並傳遞應用程式定義匯入回呼函式的位址。 系統會多次呼叫此回呼函式,直到整個檔案的內容已讀取和還原為止。 還原完成時,請呼叫 CloseEncryptedFileRaw 以釋放資源並關閉檔案。 如需如何宣告匯出回呼函式的詳細資訊,請參閱 ImportCallback

如果檔案是從磁片區備份的疏鬆檔案,其疏鬆配置單位大小比還原至的磁片區小,檔案中間的疏鬆區塊可能無法正確對齊較大的區塊,而且函式呼叫會失敗,並設定 最後一 個錯誤碼ERROR_INVALID_PARAMETER。 疏鬆配置單位大小為 16 個叢集或 64 KB,無論大小較小。

此函式僅適用于還原加密的檔案;請參閱 BackupWrite 以還原未加密的檔案。

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

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

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

規格需求

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

另請參閱

BackupWrite

CloseEncryptedFileRaw

檔案加密

檔案管理功能

ImportCallback

OpenEncryptedFileRaw

ReadEncryptedFileRaw