Método IAssemblyCache::UninstallAssembly (winsxs.h)

O método UnistallAssembly remove uma referência de aplicativo a um assembly do repositório lado a lado. Se não houver outras referências ao assembly por outros aplicativos, o assembly se tornará inutilizável. O Windows pode remover os arquivos do assembly do repositório lado a lado e recuperar espaço em disco posteriormente.

Sintaxe

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

Parâmetros

[in] dwFlags

Esse parâmetro deve ser 0.

[in] pszAssemblyName

Um ponteiro para um valor de cadeia de caracteres terminada em nulo que contém o nome forte totalmente especificado do assembly. Se o nome completo não for fornecido, o resultado será indefinido.

[in] pRefData

Um ponteiro para uma estrutura FUSION_INSTALL_REFERENCE que descreve o aplicativo que contém a referência ao assembly que está sendo removido. Se esse valor for nulo, nenhuma referência ao assembly por aplicativos será deixada no repositório lado a lado e os arquivos do assembly serão removidos.

Nota Os caracteres \, /, :, ;, *, <, >e | são inválidos na ID de referência.
 

[out, optional] pulDisposition

Um ponteiro para um valor inteiro que descreve a ação executada.

O parâmetro pulDisposition pode conter um dos seguintes valores ou nulo.

Valor Significado
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED
Os arquivos de assembly foram removidos do repositório lado a lado.
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE
Os arquivos do assembly não foram removidos porque um aplicativo está usando o assembly.
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED
O assembly não existe no repositório lado a lado.
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING
Reservado.
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES
Os arquivos do assembly não foram removidos porque o repositório lado a lado contém uma referência ao assembly por outro aplicativo.
IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND
A referência especificada em pRefData não existe no repositório lado a lado.

Valor retornado

Esse método pode retornar um desses valores.

Valor retornado Descrição
S_OK
Os arquivos do assembly foram removidos do repositório lado a lado.
S_FALSE
A operação foi bem-sucedida e a referência ao assembly foi removida. Os arquivos de assembly não foram removidos do repositório lado a lado pelo motivo descrito pelo valor retornado por pulDisposition.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winsxs.h
DLL Sxs.dll

Confira também

IAssemblyCache