Función MsiEnumProductsA (msi.h)
La función MsiEnumProducts enumera todos los productos anunciados o instalados actualmente. Los productos que se instalan en el contexto de instalación por usuario y por máquina y los anuncios se enumeran.
Sintaxis
UINT MsiEnumProductsA(
[in] DWORD iProductIndex,
[out] LPSTR lpProductBuf
);
Parámetros
[in] iProductIndex
Especifica el índice del producto que se va a recuperar. Este parámetro debe ser cero para la primera llamada a la función MsiEnumProducts y, a continuación, incrementarse para las llamadas posteriores. Dado que los productos no están ordenados, ningún producto nuevo tiene un índice arbitrario. Esto significa que la función puede devolver productos en cualquier orden.
[out] lpProductBuf
Puntero a un búfer que recibe el código del producto. Este búfer debe tener 39 caracteres. Los primeros 38 caracteres son para el GUID y el último carácter es para el carácter nulo de terminación.
Valor devuelto
Valor | Significado |
---|---|
|
Los datos de configuración están dañados. |
|
Se pasó un parámetro no válido a la función. |
|
No hay ningún producto que devolver. |
|
El sistema no tiene suficiente memoria para completar la operación. Disponible con Windows Server 2003. |
|
Se ha enumerado un valor. |
Comentarios
Para enumerar productos, una aplicación debe llamar inicialmente a la función MsiEnumProducts con el parámetro iProductIndex establecido en cero. A continuación, la aplicación debe incrementar el parámetro iProductIndex y llamar a MsiEnumProducts hasta que no haya más productos (hasta que la función devuelva ERROR_NO_MORE_ITEMS).
Al realizar varias llamadas a MsiEnumProducts para enumerar todos los productos, cada llamada se debe realizar desde el mismo subproceso.
Nota:
El encabezado msi.h define MsiEnumProducts 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
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 |