Compartir a través de


Función MsiQueryFeatureStateExA (msi.h)

La función MsiQueryFeatureStateEx devuelve el estado instalado para una característica de producto. Esta función se puede usar para consultar cualquier característica de una instancia de un producto instalado en la cuenta de equipo o cualquier contexto de la cuenta de usuario actual o el contexto administrado por usuario en cualquier cuenta de usuario distinta del usuario actual. Un usuario debe tener privilegios administrativos para obtener información de un producto instalado para un usuario distinto del usuario actual.

Sintaxis

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

Parámetros

[in] szProductCode

ProductCode GUID del producto que contiene la característica de interés.

[in] szUserSid

Especifica el identificador de seguridad (SID) de la cuenta, en el que existe la instancia del producto que se consulta. Si dwContext no es MSIINSTALLCONTEXT_MACHINE, un valor NULL especifica el usuario actual.

Tipo de SID Significado
NULL
NULL indica el usuario que ha iniciado sesión actualmente.
siD de usuario de
Especifica la enumeración de un usuario determinado del sistema. Un ejemplo de SID de usuario es "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota La cadena de SID especial s-1-5-18 (sistema) no se puede usar para enumerar las características de los productos instalados según la máquina. Si dwContext es MSIINSTALLCONTEXT_MACHINE, szUserSid debe ser NULL.
 

[in] dwContext

Contexto de instalación de la instancia de producto que se está consultando.

Nombre Significado
MSIINSTALLCONTEXT_USERMANAGED
Recupera el estado de la característica de la instancia administrada por usuario del producto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera el estado de la característica de la instancia por usuario no administrada del producto.
Nota Cuando se realiza la consulta en un producto instalado en el contexto por usuario no administrado de una cuenta de usuario distinta del usuario actual, se produce un error en la función.
 
MSIINSTALLCONTEXT_MACHINE
Recupera el estado de la característica de la instancia por máquina del producto.

[in] szFeature

Especifica la característica que se está consultando. Identificador de la característica tal como se encuentra en la columna característica de de la tabla de características de .

[out, optional] pdwState

Estado de instalación de la característica para la instancia de producto especificada. Este parámetro puede devolver uno de los valores siguientes o NULL.

Valor Significado
INSTALLSTATE_ADVERTISED
Esta característica se anuncia.
INSTALLSTATE_LOCAL
La característica se instala localmente.
INSTALLSTATE_SOURCE
La característica se instala para ejecutarse desde el origen.

Valor devuelto

La función MsiQueryFeatureStateEx devuelve los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
Un usuario debe tener privilegios administrativos para obtener información de un producto instalado para un usuario distinto del usuario actual.
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función .
ERROR_SUCCESS
La función se completó correctamente.
ERROR_UNKNOWN_FEATURE
El identificador de característica no identifica una característica conocida.
ERROR_UNKNOWN_PRODUCT
El código del producto no identifica un producto conocido.
ERROR_FUNCTION_FAILED
Un error interno inesperado.
 

Para obtener más información, vea Mensajes de error mostrados.

Observaciones

La función MsiQueryFeatureStateEx no valida que la característica sea realmente accesible. La función MsiQueryFeatureStateEx no valida el identificador de característica. ERROR_UNKNOWN_FEATURE se devuelve para cualquier identificador de característica desconocido. Cuando la consulta se realiza en un producto instalado en el contexto por usuario no administrado de una cuenta de usuario distinta del usuario actual, se produce un error en la función. En este caso, la función devuelve ERROR_UNKNOWN_FEATURE, o si el producto se anuncia solo (no instalado), se devuelve ERROR_UNKNOWN_PRODUCT.

Nota

El encabezado msi.h define MsiQueryFeatureStateEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Consulte Windows Installer Run-Time Requirements (Requisitos de Windows Installer) para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
de la plataforma de destino de Windows
encabezado de msi.h
biblioteca de Msi.lib
DLL de Msi.dll

Consulte también

mensajes de error mostrados

de tabla de características

MsiQueryFeatureState

no compatibles con Windows Installer 2.0 y versiones anteriores

productCode

funciones de estado del sistema de