次の方法で共有


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 の場合、アプリケーションによるアセンブリへの参照はサイド バイ サイド ストアに残されておらず、アセンブリのファイルは削除されます。

メモ参照 ID の文字 \、/、:、;、*、、<>、および | は無効です。
 

[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