Función MsiEnumComponentQualifiersW (msi.h)

La función MsiEnumComponentQualifiers enumera los calificadores anunciados para el componente especificado. Esta función recupera un calificador cada vez que se llama.

Sintaxis

UINT MsiEnumComponentQualifiersW(
  [in]      LPCWSTR szComponent,
  [in]      DWORD   iIndex,
  [out]     LPWSTR  lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPWSTR  lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Parámetros

[in] szComponent

Especifica el componente cuyos calificadores se van a enumerar.

[in] iIndex

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

[out] lpQualifierBuf

Puntero a un búfer que recibe el código calificador.

[in, out] pcchQualifierBuf

Puntero a una variable que especifica el tamaño, en caracteres, del búfer al que apunta el parámetro lpQualifierBuf . En la entrada, este tamaño debe incluir el carácter nulo de terminación. En la devolución, el valor no incluye el carácter null.

[out] lpApplicationDataBuf

Puntero a un búfer que recibe los datos registrados de la aplicación para el calificador. Este parámetro puede ser NULL.

[in, out] pcchApplicationDataBuf

Puntero a una variable que especifica el tamaño, en caracteres, del búfer al que apunta el parámetro lpApplicationDataBuf . En la entrada, este tamaño debe incluir el carácter nulo de terminación. En la devolución, el valor no incluye el carácter null. Este parámetro solo puede ser null si el parámetro lpApplicationDataBuf es null.

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_MORE_DATA
Un búfer es demasiado pequeño para contener los datos solicitados.
ERROR_NO_MORE_ITEMS
No hay calificadores 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 calificadores, una aplicación debe llamar inicialmente a la función MsiEnumComponentQualifiers con el parámetro iIndex establecido en cero. A continuación, la aplicación debe incrementar el parámetro iIndex y llamar a MsiEnumComponentQualifiers hasta que no haya más calificadores (es decir, hasta que la función devuelva ERROR_NO_MORE_ITEMS).

Cuando MsiEnumComponentQualifiers devuelve, el parámetro pcchQualifierBuf contiene la longitud de la cadena de calificador 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, MsiEnumComponentQualifiers devuelve ERROR_MORE_DATA y este parámetro contiene el tamaño de la cadena, en caracteres, sin contar el carácter null. El mismo mecanismo se aplica a pcchDescriptionBuf.

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

Nota:

El encabezado msi.h define MsiEnumComponentQualifiers 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