Compartir a través de


Función MsiQueryComponentStateA (msi.h)

La función msiQueryComponentState devuelve el estado instalado para un componente. Esta función puede consultar un componente de una instancia de un producto instalado en cuentas de usuario distintas del usuario actual siempre que el producto no se anuncie en el contexto por usuario no administrado para una cuenta de usuario distinta del usuario actual. El proceso de llamada debe tener privilegios administrativos para obtener información de un producto instalado para un usuario distinto del usuario actual.

Sintaxis

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

Parámetros

[in] szProductCode

Especifica el GUID de ProductCode para el producto que contiene el componente.

[in] szUserSid

Especifica el identificador de seguridad (SID) de la cuenta en la que existe la instancia del producto que se consulta. Si dwContext no es MSIINSTALLCONTEXT_MACHINE, 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 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 del componente para la instancia administrada por usuario del producto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera el estado del componente para la instancia por usuario y no administrada del producto.
MSIINSTALLCONTEXT_MACHINE
Recupera el estado del componente para la instancia por máquina del producto.

[in] szComponentCode

Especifica el componente que se está consultando. GUID de código de componente del componente tal como se encuentra en la columna ComponentID de la tabla Component.

[out] pdwState

Estado de instalación del componente para la instancia de producto especificada. Este parámetro puede devolver uno de los valores null o siguientes.

Valor Significado
INSTALLSTATE_LOCAL
El componente se instala localmente.
INSTALLSTATE_SOURCE
El componente se instala para ejecutarse desde el origen.

Valor devuelto

La función msiQueryComponentState devuelve los valores siguientes.

Valor Significado
ERROR_ACCESS_DENIED
El proceso de llamada 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_COMPONENT
El identificador del componente no identifica un componente conocido.
ERROR_UNKNOWN_PRODUCT
El código del producto no identifica un producto conocido.
ERROR_FUNCTION_FAILED
Errores que no se pueden describir en ningún código de error de Windows.
ERROR_MORE_DATA
Búfer demasiado pequeño para obtener el SID del usuario.
 

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

Observaciones

Nota

El encabezado msi.h define MsiQueryComponentState 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

componente de

mensajes de error mostrados

funciones de selección del instalador de

no compatibles con Windows Installer 2.0 y versiones anteriores

productCode