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 no administrado por usuario para una cuenta de usuario distinta del usuario actual. El proceso de llamada debe tener privilegios administrativos a fin de obtener información de un producto instalado para un usuario distinto del 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 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 está MSIINSTALLCONTEXT_MACHINE, null especifica el usuario actual.
[in] dwContext
Contexto de instalación de la instancia de producto que se consulta.
[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 siguientes valores o null.
Valor | Significado |
---|---|
|
El componente se instala localmente. |
|
El componente se instala para ejecutarse desde el origen. |
Valor devuelto
La función MsiQueryComponentState devuelve los valores siguientes.
Valor | Significado |
---|---|
|
El proceso de llamada debe tener privilegios administrativos a fin de obtener información de un producto instalado para un usuario distinto del actual. |
|
Los datos de configuración están dañados. |
|
Se pasó un parámetro no válido a la función. |
|
Si se devuelve este valor, significa que la función se completó correctamente. |
|
El identificador del componente no identifica un componente conocido. |
|
El código de producto no identifica un producto conocido. |
|
Errores que no se pueden describir en ningún código de error de Windows. |
|
Búfer demasiado pequeño para obtener el SID de usuario. |
Para obtener más información, vea Mensajes de error mostrados.
Comentarios
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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | 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 Requisitos de Windows Installer en tiempo de ejecución para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer. |
Plataforma de destino | Windows |
Encabezado | msi.h |
Library | Msi.lib |
Archivo DLL | Msi.dll |
Consulte también
Funciones de selección del instalador
No se admite en Windows Installer 2.0 ni en versiones anteriores