Share via


Función MsiGetProductPropertyA (msi.h)

La función MsiGetProductProperty recupera las propiedades del producto. Estas propiedades se encuentran en la base de datos del producto.

Sintaxis

UINT MsiGetProductPropertyA(
  [in]      MSIHANDLE hProduct,
  [in]      LPCSTR    szProperty,
  [out]     LPSTR     lpValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Parámetros

[in] hProduct

Identificador del producto obtenido de MsiOpenProduct.

[in] szProperty

Especifica la propiedad que se va a recuperar. Distingue mayúsculas de minúsculas.

[out] lpValueBuf

Puntero a un búfer que recibe el valor de propiedad. El valor se trunca y termina en null si lpValueBuf es demasiado pequeño. Este parámetro puede ser NULL.

[in, out] pcchValueBuf

Puntero a una variable que especifica el tamaño, en caracteres, del búfer al que apunta el parámetro lpValueBuf . En la entrada, este es el tamaño completo del búfer, incluido un espacio para un carácter nulo de terminación. Si el búfer pasado es demasiado pequeño, el recuento devuelto no incluye el carácter nulo de terminación.

Si lpValueBuf es null, pcchValueBuf puede ser null.

Valor devuelto

La función MsiGetProductProperty devuelve los valores siguientes.

Valor Significado
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función.
ERROR_INVALID_HANDLE
Se pasó un identificador no válido a la función .
ERROR_MORE_DATA
Un búfer es demasiado pequeño para contener todo el valor de propiedad.
ERROR_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente.
 
 

Comentarios

Cuando se devuelve la función MsiGetProductProperty , el parámetro pcchValueBuf contiene la longitud de la cadena almacenada en el búfer. El recuento devuelto no incluye el carácter nulo de terminación. Si el búfer no es lo suficientemente grande, MsiGetProductProperty devuelve ERROR_MORE_DATA y MsiGetProductProperty contiene el tamaño de la cadena, en caracteres, sin contar el carácter null.

Nota

El encabezado msi.h define MsiGetProductProperty 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. Windows Installer en Windows Server 2003 o Windows XP. Consulte Windows Installer 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 consulta de productos