共用方式為


IStorage::D estroyElement 方法 (objidl.h)

DestroyElement 方法會從這個儲存物件中移除指定的儲存或數據流。

語法

HRESULT DestroyElement(
  [in] const OLECHAR *pwcsName
);

參數

[in] pwcsName

寬字元 Null 終止 Unicode 字串的指標,其中包含要移除之記憶體或數據流的名稱。

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK 已成功移除專案。
E_PENDING 僅限異步記憶體:目前無法使用部分或所有元素數據。
STG_E_ACCESSDENIED 呼叫端沒有移除項目的許可權。
STG_E_FILENOTFOUND 具有指定名稱的專案不存在。
STG_E_INSUFFICIENTMEMORY 因為記憶體不足,所以未移除元素。
STG_E_INVALIDNAME pwcsName 的值無效。
STG_E_INVALIDPOINTER 為專案指定的指標無效。
STG_E_INVALIDPARAMETER 其中一個參數無效。
STG_E_REVERTED 記憶體物件已因交易樹狀結構中上方的還原作業而失效。
STG_E_TOOMANYOPENFILES 專案未移除,因為有太多開啟的檔案。

備註

DestroyElement 方法會從目前的儲存物件中刪除子記憶體或數據流。 成功呼叫 DestroyElement 之後,來自父記憶體之已終結專案的任何開啟實例都會變成無效。

如果記憶體物件是以交易模式開啟,則專案的解構需要呼叫 DestroyElement 之後再呼叫 IStorage::Commit

注意DestroyElement 方法不會壓縮目錄數據流。 它只會將已刪除的目錄項目標示為無效。 建立新的記憶體或數據流時,會重複使用無效的專案。

針對內容數據流,已刪除的數據流扇區會標示為免費。 如果可用扇區位於檔尾,檔案檔案應該會壓縮。 若要壓縮檔檔案,請在根記憶體物件上呼叫 IStorage::CopyTo ,並複製到新的記憶體物件。

 

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objidl.h
程式庫 Uuid.lib
Dll Ole32.dll

另請參閱

IStorage - 複合檔案實作