Compartir a través de


Función MsiEnumClientsA (msi.h)

La función MsiEnumClients enumera los clientes de un componente instalado determinado. La función recupera un código de producto cada vez que se llama a él.

Sintaxis

UINT MsiEnumClientsA(
  [in]  LPCSTR szComponent,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Parámetros

[in] szComponent

Especifica el componente cuyos clientes se van a enumerar.

[in] iProductIndex

Especifica el índice del cliente que se va a recuperar. Este parámetro debe ser cero para la primera llamada a la función MsiEnumClients y, a continuación, incrementarse para las llamadas posteriores. Dado que los clientes no están ordenados, ningún cliente nuevo tiene un índice arbitrario. Esto significa que la función puede devolver clientes en cualquier orden.

[out] lpProductBuf

Puntero a un búfer que recibe el código del producto. Este búfer debe tener 39 caracteres de longitud. 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
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_NO_MORE_ITEMS
No hay clientes que se devuelvan.
ERROR_NOT_ENOUGH_MEMORY
El sistema no tiene suficiente memoria para completar la operación. Disponible con Windows Server 2003.
ERROR_SUCCESS
Se ha enumerado un valor.
ERROR_UNKNOWN_COMPONENT
Se desconoce el componente especificado.

Comentarios

Para enumerar clientes, una aplicación debe llamar inicialmente a la función MsiEnumClients con el parámetro iProductIndex establecido en cero. A continuación, la aplicación debe incrementar el parámetro iProductIndex y llamar a MsiEnumClients hasta que no haya más clientes (es decir, hasta que la función devuelva ERROR_NO_MORE_ITEMS).

Al realizar varias llamadas a MsiEnumClients para enumerar todos los clientes del componente, cada llamada debe realizarse desde el mismo subproceso.

Nota:

El encabezado msi.h define MsiEnumClients 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. 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 estado del sistema