Compartilhar via


Função MsiGetPatchInfoExW (msi.h)

A função MsiGetPatchInfoEx consulta informações sobre a aplicação de um patch para uma instância especificada de um produto.

Sintaxe

UINT MsiGetPatchInfoExW(
  [in]            LPCWSTR           szPatchCode,
  [in]            LPCWSTR           szProductCode,
  [in]            LPCWSTR           szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCWSTR           szProperty,
  [out, optional] LPWSTR            lpValue,
  [in, out]       LPDWORD           pcchValue
);

Parâmetros

[in] szPatchCode

Uma cadeia de caracteres terminada em nulo que contém o GUID do patch. Esse parâmetro não pode ser NULL.

[in] szProductCode

Uma cadeia de caracteres terminada em nulo que contém o GUID do ProductCode da instância do produto. Esse parâmetro não pode ser NULL.

[in] szUserSid

Uma cadeia de caracteres terminada em nulo que especifica o SID (identificador de segurança) sob o qual a instância do patch que está sendo consultado existe. Usar um valor NULL especifica o usuário atual.

SID Meaning
NULL
Especifica o usuário que está conectado.
SID do usuário
Especifica a enumeração de uma ID de usuário específica no sistema. O exemplo a seguir identifica um possível SID de usuário: "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota A cadeia de caracteres sid especial "S-1-5-18" (sistema) não pode ser usada para enumerar produtos instalados como por computador. Se dwContext for MSIINSTALLCONTEXT_MACHINE, szUserSid deverá ser NULL.
 

[in] dwContext

Restringe a enumeração a um contexto por usuário não gerenciado, por usuário ou por computador. Esse parâmetro pode ser qualquer um dos valores a seguir.

Contexto Meaning
MSIINSTALLCONTEXT_USERMANAGED
1
Consulta estendida a todas as instalações gerenciadas pelo usuário para os usuários especificados pelo szUserSid .
MSIINSTALLCONTEXT_USERUNMANAGED
2
Consulta estendida a todas as instalações não gerenciadas por usuário para os usuários especificados pelo szUserSid .
MSIINSTALLCONTEXT_MACHINE
4
Consulta estendida a todas as instalações por computador.

[in] szProperty

Uma cadeia de caracteres terminada em nulo que especifica o valor da propriedade a ser recuperado. O parâmetro szProperty pode ser um dos seguintes:

Nome Meaning
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Obtém o arquivo de patch armazenado em cache que o produto usa.
INSTALLPROPERTY_TRANSFORMS
"Transformações"
Obtém o conjunto de transformações de patch que a última instalação de patch aplicou ao produto. Esse valor poderá não estar disponível para aplicativos não gerenciados por usuário se o usuário não estiver conectado.
INSTALLPROPERTY_INSTALLDATE
"InstallDate"
Obtém a última vez que este produto recebeu o serviço. O valor dessa propriedade é substituído sempre que um patch é aplicado ou removido do produto ou a opção /vCommand-Line é usada para reparar o produto. Se o produto não tiver recebido reparos ou patches, essa propriedade conterá a hora em que este produto foi instalado neste computador.
INSTALLPROPERTY_UNINSTALLABLE
"Desinstalável"
Retornará "1" se o patch estiver marcado como possível para desinstalar do produto. Nesse caso, o instalador ainda poderá bloquear a desinstalação se esse patch for exigido por outro patch que não possa ser desinstalado.
INSTALLPROPERTY_PATCHSTATE
"Estado"
Retornará "1" se esse patch for aplicado no momento ao produto. Retornará "2" se esse patch for substituído por outro patch. Retornará "4" se esse patch estiver obsoleto. Esses valores correspondem às constantes usadas pelo parâmetro dwFilter de MsiEnumPatchesEx .
INSTALLPROPERTY_DISPLAYNAME
"DisplayName"
Obtenha o nome de exibição registrado para o patch. Para patches que não incluem a propriedade DisplayName na tabela MsiPatchMetadata , o nome de exibição retornado é uma cadeia de caracteres vazia ("").
INSTALLPROPERTY_MOREINFOURL
"MoreInfoURL"
Obtenha a URL de informações de suporte registradas para o patch. Para patches que não incluem a propriedade MoreInfoURL na tabela MsiPatchMetadata , a URL de informações de suporte retornada é uma cadeia de caracteres vazia ("").

[out, optional] lpValue

Esse parâmetro é um ponteiro para um buffer que recebe o valor da propriedade. Esse buffer deve ser grande o suficiente para conter as informações. Se o buffer for muito pequeno, a função retornará ERROR_MORE_DATA e definirá *pcchValue como o número de TCHAR no valor da propriedade, não incluindo o caractere NULL de terminação.

Se lpValue for definido como NULL e pcchValue for definido como um ponteiro válido, a função retornará ERROR_SUCCESS e definirá *pcchValue como o número de TCHAR no valor, não incluindo o caractere NULL de encerramento. Em seguida, a função pode ser chamada novamente para recuperar o valor, com buffer lpValue grande o suficiente para conter *pcchValue + 1 caracteres.

Se lpValue e pcchValue estiverem definidos como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.

[in, out] pcchValue

Ao chamar a função, esse parâmetro deve ser um ponteiro para uma variável que especifica o número de TCHAR no buffer lpValue . Quando a função retorna, esse parâmetro é definido como o tamanho do valor solicitado se a função copia ou não o valor para o buffer especificado. O tamanho é retornado como o número de TCHAR no valor solicitado, não incluindo o caractere nulo de encerramento.

Esse parâmetro só poderá ser definido como NULL se lpValue também for NULL. Caso contrário, a função retornará ERROR_INVALID_PARAMETER.

Valor de retorno

A função MsiGetPatchInfoEx retorna os valores a seguir.

Código de retorno Description
ERROR_ACCESS_DENIED
A função falha ao tentar acessar um recurso com privilégios insuficientes.
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_FUNCTION_FAILED
A função falha e o erro não é identificado em outros códigos de erro.
ERROR_INVALID_PARAMETER
Um parâmetro inválido é passado para a função.
ERROR_MORE_DATA
O valor não se encaixa no buffer fornecido.
ERROR_SUCCESS
O patch é enumerado com êxito.
ERROR_UNKNOWN_PRODUCT
O produto especificado pelo szProduct não está instalado no computador.
ERROR_UNKNOWN_PROPERTY
A propriedade não é reconhecida.
ERROR_UNKNOWN_PATCH
O patch não foi reconhecido.

Observações

Windows Installer 2.0: Não há suporte. Essa função está disponível a partir do Windows Installer versão 3.0.

Um usuário pode consultar dados de patch para qualquer instância de produto visível. O grupo de administradores pode consultar dados de patch para qualquer instância do produto e qualquer usuário no computador. Nem todos os valores estarão disponíveis para aplicativos não gerenciados por usuário se o usuário não estiver conectado.

Observação

O cabeçalho msi.h define MsiGetPatchInfoEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requirements

Requirement Value
Cliente mínimo suportado Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
Header msi.h
Library Msi.lib
de DLL Msi.dll

Consulte também

ProductCode

Removendo patches