Compartilhar via


Função MsiQueryComponentStateA (msi.h)

A função MsiQueryComponentState retorna o estado instalado para 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 não gerenciado por usuário 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 ProductCode GUID 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, o usuário atual especifica nulo.

Tipo de SID Significado
NULL
NULL indica o usuário conectado no momento.
sid do usuário
Especifica a enumeração para um usuário específico no sistema. Um exemplo de 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 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 de componente do componente, conforme encontrado na coluna ComponentID da tabela componente .

[out] pdwState

Estado de instalação do componente para a instância do 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 é instalado para ser executado a partir da origem.

Valor de retorno

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 atribuídas a 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.

Observações

Nota

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 do 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

do componente

mensagens de erro exibidas

Funções de seleção do instalador

sem suporte no Windows Installer 2.0 e anteriores

ProductCode