Función MsiGetPatchInfoExA (msi.h)

La función MsiGetPatchInfoEx consulta información sobre la aplicación de una revisión en una instancia especificada de un producto.

Sintaxis

UINT MsiGetPatchInfoExA(
  [in]            LPCSTR            szPatchCode,
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szProperty,
  [out, optional] LPSTR             lpValue,
  [in, out]       LPDWORD           pcchValue
);

Parámetros

[in] szPatchCode

Cadena terminada en null que contiene el GUID de la revisión. Este parámetro no puede ser NULL.

[in] szProductCode

Cadena terminada en null que contiene el GUID productCode de la instancia de producto. Este parámetro no puede ser NULL.

[in] szUserSid

Cadena terminada en null que especifica el identificador de seguridad (SID) en el que existe la instancia de la revisión que se consulta. El uso de un valor NULL especifica el usuario actual.

SID Significado
NULL
Especifica el usuario que ha iniciado sesión.
SID de usuario
Especifica la enumeración de un identificador de usuario específico en el sistema. En el ejemplo siguiente se identifica un POSIBLE SID de usuario: "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

Restringe la enumeración a un contexto por usuario no administrado, por usuario o por máquina. Este parámetro puede ser cualquiera de los siguientes valores.

Context Significado
MSIINSTALLCONTEXT_USERMANAGED
1
Consulta que se extiende a todas las instalaciones administradas por usuario para los usuarios que szUserSid especifica.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Consulta que se extiende a todas las instalaciones no administradas por usuario para los usuarios que especifica szUserSid .
MSIINSTALLCONTEXT_MACHINE
4
Consulta que se extiende a todas las instalaciones por máquina.

[in] szProperty

Cadena terminada en null que especifica el valor de propiedad que se va a recuperar. El parámetro szProperty puede ser uno de los siguientes:

Nombre Significado
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Obtiene el archivo de revisión almacenado en caché que usa el producto.
INSTALLPROPERTY_TRANSFORMS
"Transformaciones"
Obtiene el conjunto de transformaciones de revisión que la última instalación de revisión aplicó al producto. Es posible que este valor no esté disponible para las aplicaciones no administradas por usuario si el usuario no ha iniciado sesión.
INSTALLPROPERTY_INSTALLDATE
"InstallDate"
Obtiene la última vez que este producto recibió el servicio. El valor de esta propiedad se reemplaza cada vez que se aplica o elimina una revisión del producto o se usa la opción de línea de comandos /v para reparar el producto. Si el producto no ha recibido reparaciones ni revisiones, esta propiedad contiene la hora en que este producto se instaló en este equipo.
INSTALLPROPERTY_UNINSTALLABLE
"Desinstalable"
Devuelve "1" si la revisión está marcada como posible para desinstalar del producto. En este caso, el instalador de todos modos puede bloquear la desinstalación si otra revisión que no se puede desinstalar requiere esta revisión.
INSTALLPROPERTY_PATCHSTATE
"Estado"
Devuelve "1" si esta revisión se aplica actualmente al producto. Devuelve "2" si otra revisión sustituye a esta revisión. Devuelve "4" si esta revisión está obsoleta. Estos valores corresponden a las constantes que usa el parámetro dwFilter de MsiEnumPatchesEx .
INSTALLPROPERTY_DISPLAYNAME
"DisplayName"
Obtenga el nombre para mostrar registrado para la revisión. En el caso de las revisiones que no incluyen la propiedad DisplayName en la tabla MsiPatchMetadata, el nombre para mostrar devuelto es una cadena vacía ("").
INSTALLPROPERTY_MOREINFOURL
"MoreInfoURL"
Obtenga la dirección URL de información de soporte técnico registrada para la revisión. En el caso de las revisiones que no incluyen la propiedad MoreInfoURL en la tabla MsiPatchMetadata, la dirección URL de información de soporte técnico devuelta es una cadena vacía ("").

[out, optional] lpValue

Este parámetro es un puntero a un búfer que recibe el valor de propiedad. Este búfer debe ser lo suficientemente grande como para contener la información. Si el búfer es demasiado pequeño, la función devuelve ERROR_MORE_DATA y establece *pcchValue en el número de TCHAR en el valor de propiedad, no incluido el carácter NULL de terminación.

Si lpValue se establece en NULL y pcchValue se establece en un puntero válido, la función devuelve ERROR_SUCCESS y establece *pcchValue en el número de TCHAR en el valor, no incluido el carácter NULL de terminación. A continuación, se puede llamar a la función de nuevo para recuperar el valor, con el búfer lpValue lo suficientemente grande como para contener *pcchValue + 1 caracteres.

Si lpValue y pcchValue se establecen en NULL, la función devuelve ERROR_SUCCESS si el valor existe, sin recuperar el valor.

[in, out] pcchValue

Al llamar a la función , este parámetro debe ser un puntero a una variable que especifica el número de TCHAR en el búfer lpValue . Cuando la función devuelve, este parámetro se establece en el tamaño del valor solicitado tanto si la función copia el valor en el búfer especificado. El tamaño se devuelve como el número de TCHAR en el valor solicitado, no incluido el carácter nulo de terminación.

Este parámetro solo se puede establecer en NULL si lpValue también es NULL. De lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

Valor devuelto

La función MsiGetPatchInfoEx devuelve los valores siguientes.

Código devuelto Descripción
ERROR_ACCESS_DENIED
La función no puede intentar acceder a un recurso con privilegios insuficientes.
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_FUNCTION_FAILED
Se produce un error en la función y el error no se identifica en otros códigos de error.
ERROR_INVALID_PARAMETER
Se pasa un parámetro no válido a la función .
ERROR_MORE_DATA
El valor no cabe en el búfer proporcionado.
ERROR_SUCCESS
La revisión se enumera correctamente.
ERROR_UNKNOWN_PRODUCT
El producto que especifica szProduct no está instalado en el equipo.
ERROR_UNKNOWN_PROPERTY
No se reconoce la propiedad .
ERROR_UNKNOWN_PATCH
No se reconoce la revisión.

Comentarios

Windows Installer 2.0: No se admite. Esta función está disponible a partir de la versión 3.0 de Windows Installer.

Un usuario puede consultar los datos de revisión de cualquier instancia de producto visible. El grupo de administradores puede consultar datos de revisión para cualquier instancia de producto y cualquier usuario del equipo. No se garantiza que todos los valores estén disponibles para las aplicaciones no administradas por usuario si el usuario no ha iniciado sesión.

Nota:

El encabezado msi.h define MsiGetPatchInfoEx 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 Convenciones para prototipos de función.

Requisitos

   
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

ProductCode

Eliminación de revisiones