Função MsiQueryComponentStateA (msi.h)

A função MsiQueryComponentState retorna o estado instalado de um componente. Essa função pode consultar um componente de uma instância de um produto instalado em contas de usuário diferentes do usuário atual, desde que o produto não seja anunciado no contexto por usuário não gerenciado para uma conta de usuário diferente do usuário atual. O processo de chamada deve ter privilégios administrativos para obter informações de um produto instalado para um usuário diferente do usuário atual.

Sintaxe

UINT MsiQueryComponentStateA(
  [in]  LPCSTR            szProductCode,
  [in]  LPCSTR            szUserSid,
  [in]  MSIINSTALLCONTEXT dwContext,
  [in]  LPCSTR            szComponentCode,
  [out] INSTALLSTATE      *pdwState
);

Parâmetros

[in] szProductCode

Especifica o GUID do ProductCode para o produto que contém o componente.

[in] szUserSid

Especifica o SID (identificador de segurança) da conta na qual a instância do produto que está sendo consultado existe. Se dwContext não for MSIINSTALLCONTEXT_MACHINE, nulo especificará o usuário atual.

Tipo de SID Significado
NULL
NULL indica o usuário conectado no momento.
SID de usuário
Especifica a enumeração para um usuário específico no sistema. Um exemplo de SID do 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 nulo.
 

[in] dwContext

O contexto de instalação da instância do produto que está sendo consultada.

Nome Significado
MSIINSTALLCONTEXT_USERMANAGED
Recupera o estado do componente para a instância gerenciada por usuário do produto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera o estado do componente para a instância não gerenciada por usuário do produto.
MSIINSTALLCONTEXT_MACHINE
Recupera o estado do componente para a instância por computador do produto.

[in] szComponentCode

Especifica o componente que está sendo consultado. GUID do código do componente, conforme encontrado na coluna ComponentID da tabela Component .

[out] pdwState

Estado de instalação do componente para a instância de produto especificada. Esse parâmetro pode retornar um dos seguintes valores ou nulos.

Valor Significado
INSTALLSTATE_LOCAL
O componente é instalado localmente.
INSTALLSTATE_SOURCE
O componente está instalado para ser executado a partir da origem.

Retornar valor

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

Valor Significado
ERROR_ACCESS_DENIED
O processo de chamada deve ter privilégios administrativos para obter informações de um produto instalado para um usuário diferente do usuário atual.
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_SUCCESS
A função foi concluída com êxito.
ERROR_UNKNOWN_COMPONENT
A ID do componente não identifica um componente conhecido.
ERROR_UNKNOWN_PRODUCT
O código do produto não identifica um produto conhecido.
ERROR_FUNCTION_FAILED
Falhas que não podem ser inscritas em nenhum código de erro do Windows.
ERROR_MORE_DATA
Buffer muito pequeno para obter o SID do usuário.
 

Para obter mais informações, consulte Mensagens de erro exibidas.

Comentários

Observação

O cabeçalho msi.h define MsiQueryComponentState 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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o Windows service pack mínimo exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Componente

Mensagens de erro exibidas

Funções de seleção do instalador

Sem suporte no Windows Installer 2.0 e nas versões anteriores

ProductCode