Compartilhar via


Função MsiQueryFeatureStateExA (msi.h)

A função MsiQueryFeatureStateEx retorna o estado instalado para um recurso de produto. Essa função pode ser usada para consultar qualquer recurso de uma instância de um produto instalado na conta do computador ou em qualquer contexto na conta de usuário atual ou no contexto gerenciado por usuário em qualquer conta de usuário diferente do usuário atual. Um usuário deve ter privilégios administrativos para obter informações de um produto instalado para um usuário diferente do usuário atual.

Sintaxe

UINT MsiQueryFeatureStateExA(
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szFeature,
  [out, optional] INSTALLSTATE      *pdwState
);

Parâmetros

[in] szProductCode

ProductCode GUID do produto que contém o recurso de interesse.

[in] szUserSid

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

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 recursos de 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 recurso para a instância gerenciada por usuário do produto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera o estado do recurso para a instância não gerenciada por usuário do produto.
Observação Quando a consulta é feita em um produto instalado no contexto não gerenciado por usuário para uma conta de usuário diferente do usuário atual, a função falha.
 
MSIINSTALLCONTEXT_MACHINE
Recupera o estado do recurso para a instância por computador do produto.

[in] szFeature

Especifica o recurso que está sendo consultado. Identificador do recurso, conforme encontrado na coluna Feature da tabela Feature.

[out, optional] pdwState

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

Valor Significado
INSTALLSTATE_ADVERTISED
Esse recurso é anunciado.
INSTALLSTATE_LOCAL
O recurso é instalado localmente.
INSTALLSTATE_SOURCE
O recurso é instalado para ser executado de origem.

Valor de retorno

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

Valor Significado
ERROR_ACCESS_DENIED
Um usuário 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_FEATURE
A ID do recurso não identifica um recurso conhecido.
ERROR_UNKNOWN_PRODUCT
O código do produto não identifica um produto conhecido.
ERROR_FUNCTION_FAILED
Uma falha interna inesperada.
 

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

Observações

A função MsiQueryFeatureStateEx não valida que o recurso está realmente acessível. A função MsiQueryFeatureStateEx não valida a ID do recurso. ERROR_UNKNOWN_FEATURE é retornado para qualquer ID de recurso desconhecida. Quando a consulta é feita em um produto instalado no contexto não gerenciado por usuário para uma conta de usuário diferente do usuário atual, a função falha. Nesse caso, a função retorna ERROR_UNKNOWN_FEATUREou se o produto é anunciado apenas (não instalado), ERROR_UNKNOWN_PRODUCT é retornado.

Nota

O cabeçalho msi.h define MsiQueryFeatureStateEx 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

mensagens de erro exibidas

da Tabela de Recursos

MsiQueryFeatureState

sem suporte no Windows Installer 2.0 e anteriores

ProductCode

Funções de status do sistema