共用方式為


IAssemblyCache::UninstallAssembly 方法 (winsxs.h)

UnistallAssembly方法會從並存存放區移除元件的應用程式參考。 如果其他應用程式沒有其他元件參考,元件就會變成無法使用。 Windows 可能會從並存存放區中移除元件的檔案,並在稍後回收磁碟空間。

語法

HRESULT UninstallAssembly(
  [in]            DWORD                       dwFlags,
  [in]            LPCWSTR                     pszAssemblyName,
  [in]            LPCFUSION_INSTALL_REFERENCE pRefData,
  [out, optional] ULONG                       *pulDisposition
);

參數

[in] dwFlags

此參數必須是 0。

[in] pszAssemblyName

包含元件完整指定強式名稱之 Null 終止字串值的指標。 如果未提供完整名稱,則結果為未定義。

[in] pRefData

FUSION_INSTALL_REFERENCE結構的指標,描述保存所移除元件參考的應用程式。 如果此值為 Null,應用程式對元件的參考不會保留在並存存放區中,而且會移除元件的檔案。

注意 在參考識別碼中,字元 \、/、:、、*、 < 、 > 和 | 無效。
 

[out, optional] pulDisposition

描述所執行動作之整數值的指標。

pulDisposition參數可以包含下列其中一個值或 null。

意義
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED
元件檔案已從並存存放區中移除。
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE
因為應用程式正在使用元件,所以尚未移除元件的檔案。
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED
元件不存在於並存存放區中。
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING
保留的。
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES
元件檔案尚未移除,因為並存存放區包含另一個應用程式的元件參考。
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND
pRefData中指定的參考不存在於並存存放區中。

傳回值

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

傳回值 描述
S_OK
元件的檔案已從並存存放區中移除。
S_FALSE
作業成功,且已移除元件的參考。 因為 pulDisposition所傳回的值所描述的原因,元件檔案不會從並存存放區中移除。

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winsxs.h
Dll Sxs.dll

另請參閱

IAssemblyCache