共用方式為


DeleteFileTransactedW 函式 (winbase.h)

[Microsoft強烈建議開發人員利用替代方法來達成應用程式的需求。 TxF 開發的許多案例都可以透過更簡單且更容易使用的技術來達成。 此外,未來版本的 Microsoft Windows 可能無法使用 TxF。 如需詳細資訊和 TxF 的替代方案,請參閱使用交易式 NTFS的替代專案

刪除現有的檔案做為交易作業。

語法

BOOL DeleteFileTransactedW(
  [in] LPCWSTR lpFileName,
  [in] HANDLE  hTransaction
);

參數

[in] lpFileName

要刪除的檔名。

檔案必須位於本機計算機上;否則,函式會失敗,且最後一個錯誤碼會設定為 ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE

根據預設,名稱限製為MAX_PATH個字元。 若要將此限制延伸至 32,767 寬字元,請在路徑前面加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間

提示

從 Windows 10 版本 1607 開始,您可以選擇移除MAX_PATH限制,而不需預先加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間 的一節。

[in] hTransaction

交易的句柄。 此句柄是由 createTransaction 函式 傳回。

傳回值

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

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

言論

如果應用程式嘗試刪除不存在的檔案,DeleteFileTransacted 函式會失敗並 ERROR_FILE_NOT_FOUND。 如果檔案是唯讀檔案,函式會失敗,並 ERROR_ACCESS_DENIED

下列清單會識別刪除、移除或關閉檔案的一些秘訣:

  • 若要刪除唯讀檔案,您必須先移除唯讀屬性。
  • 若要刪除或重新命名檔案,您必須擁有檔案的刪除許可權,或刪除父目錄中的子許可權。
  • 若要遞歸刪除目錄中的檔案,請使用 SHFileOperation 函式。
  • 若要移除空的目錄,請使用 removeDirectoryTransacted 函式
  • 若要關閉開啟的檔案,請使用 CloseHandle 函式。
如果您設定具有刪除和刪除子系以外的所有存取權目錄,以及繼承新檔案的訪問控制清單 (ACL),則您可以建立檔案,而不需要刪除它。 不過,您可以建立檔案,然後取得您在建立檔案時傳回之句柄上要求的所有存取權。

如果您在建立檔案時要求刪除許可權,您可以使用該句柄刪除或重新命名檔案,但不能使用任何其他句柄來刪除或重新命名檔案。 如需詳細資訊,請參閱 檔案安全性和存取權限

如果應用程式嘗試刪除有其他句柄開啟的檔案,或做為記憶體對應檔案,則 DeleteFileTransacted 函式會失敗(FILE_SHARE_DELETE 必須在開啟其他句柄時指定)。

DeleteFileTransacted 函式會將檔案標示為關閉時要刪除的檔案。 在關閉檔案的最後一個交易寫入器句柄之後,就會刪除檔案,前提是交易仍在使用中。 如果檔案已標示為要刪除,且交易完成之後仍開啟交易寫入器句柄,則不會刪除檔案。

符號連結:如果路徑指向符號連結,則會刪除符號連結,而不是目標。 若要刪除目標,您必須呼叫 createFile 並指定 FILE_FLAG_DELETE_ON_CLOSE

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

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

SMB 3.0 不支援 TxF。

注意

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

要求

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

另請參閱

CloseHandle

CreateFileTransacted

檔案管理功能

符號連結

交易式NTFS