EncryptionDisable 函式 (winefs.h)

停用或啟用指定目錄及其檔案的加密。 它不會影響指定目錄下方子目錄的加密。

語法

BOOL EncryptionDisable(
  [in] LPCWSTR DirPath,
  [in] BOOL    Disable
);

參數

[in] DirPath

要啟用或停用加密的目錄名稱。

[in] Disable

指出要停用加密 (TRUE) ,還是 (FALSE) 加以啟用。

傳回值

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

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

備註

在一般情況下, EncryptFile 不會使用 FILE_ATTRIBUTE_SYSTEM 屬性集來加密檔案和目錄。 可以覆寫 FILE_ATTRIBUTE_SYSTEM 屬性並加密檔案。 此外,如果檔案或目錄以 FILE_ATTRIBUTE_SYSTEM 屬性標示,則使用者通常會在目錄清單和 Windows 檔案總管目錄視窗中看見。 EncryptionDisable 會 停用目錄和檔案的加密。 它不會影響已設定 FILE_ATTRIBUTE_SYSTEM 屬性的檔案可見度。

如果傳入 TRUEEncryptionDisable 會視需要將下列內容寫入目錄中的 Desktop.ini 檔案, (建立檔案) :

[Encryption]
Disable=1

如果區段已經存在,但 Disable 設定為 0,則會將其設定為 1。

之後, 目錄中的 EncryptFile 將會失敗,而且 GetLastError 傳回的程式碼將會 ERROR_DIR_EFS_DISALLOWED。 此函式不會影響指定目錄中子目錄的加密。

使用者也可以在 Desktop.ini 檔案中手動新增或編輯上述幾行,並產生相同的效果。

EncryptionDisable 只會影響 FileEncryptionStatusEncryptFile。 加密目錄之後,任何未使用 FILE_ATTRIBUTE_SYSTEM 屬性建立的新檔案和新子目錄都會加密。

如果傳入 FALSEEncryptionDisable 會將下列內容寫入 Desktop.ini 檔案:

[Encryption]
Disable=0

這表示在該目錄中的檔案上允許檔案加密。

如果您嘗試使用 EncryptionDisable 將目錄設定為它已在的狀態,函式會成功,但沒有任何作用。

如果您嘗試使用 EncryptionDisable 停用或啟用檔案上的加密,嘗試將會失敗。

在 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
標頭 winefs.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

DecryptFile

EncryptFile

檔案屬性常數

檔案加密

檔案管理功能

FileEncryptionStatus

GetFileAttributes