Compartilhar via


Função MsiGetPatchInfoExA (msi.h)

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

Sintaxe

UINT MsiGetPatchInfoExA(
  [in]            LPCSTR            szPatchCode,
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szProperty,
  [out, optional] LPSTR             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 ProductCode GUID 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 de NULL especifica o usuário atual.

SID Significado
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".
 
Observação 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 Significado
MSIINSTALLCONTEXT_USERMANAGED
1
Consulta estendida a todas as instalações gerenciadas por usuário para os usuários que szUserSid especifica.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Consulta estendida a todas as instalações não gerenciadas por usuário para os usuários que szUserSid especifica.
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 Significado
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 /v Command-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 que o parâmetro dwFilter de usa o 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 para o número de TCHAR no valor da propriedade, não incluindo o caractere de NULL terminação.

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

Se lpValue e pcchValue estiverem definidas 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 terminação.

Esse parâmetro pode ser definido como NULL somente se lpValue também estiver 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 Descrição
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 que szProduct especifica 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: sem 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.

Nota

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.

Requisitos

Requisito Valor
de cliente com suporte mínimo 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
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

ProductCode

removendo patches