Función MsiSourceListGetInfoA (msi.h)
La función MsiSourceListGetInfo recupera información sobre la lista de origen de un producto o revisión en un contexto específico.
Sintaxis
UINT MsiSourceListGetInfoA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Parámetros
[in] szProductCodeOrPatchCode
ProductCode o guid de revisión del producto o revisión. Use una cadena terminada en NULL. Si la cadena tiene más de 39 caracteres, se produce un error en la función y devuelve ERROR_INVALID_PARAMETER. Este parámetro no puede ser NULL.
[in, optional] szUserSid
Este parámetro puede ser un identificador de seguridad de cadena (SID) que especifica la cuenta de usuario que contiene el producto o la revisión. El SID no se valida ni se resuelve. Un SID incorrecto puede devolver ERROR_UNKNOWN_PRODUCT o ERROR_UNKNOWN_PATCH. Al hacer referencia a un contexto de máquina, szUserSID debe ser NULL y dwContext debe ser MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Este parámetro especifica el contexto de la instancia de producto o revisión. Este parámetro puede contener uno de los valores siguientes.
[in] dwOptions
El valor dwOptions especifica el significado de szProductCodeOrPatchCode.
Marca | Significado |
---|---|
|
szProductCodeOrPatchCode es un GUID de código de producto. |
|
szProductCodeOrPatchCode es un GUID de código de revisión. |
[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 valores siguientes.
[out, optional] szValue
Búfer de salida que recibe la información. 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, sin incluir el carácter NULL de terminación.
Si szValue 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 szValue lo suficientemente grande como para contener *pcchValue + 1 caracteres.
Si szValue y pcchValue se establecen en NULL, la función devuelve ERROR_SUCCESS si el valor existe, sin recuperar el valor.
[in, out, optional] pcchValue
Puntero a una variable que especifica el número de TCHAR en el búfer szValue . Cuando se devuelve la función, este parámetro se establece en el tamaño del valor solicitado, independientemente de si la función copia o no el valor en el búfer especificado. El tamaño se devuelve como el número de TCHAR en el valor solicitado, sin incluir el carácter nulo de terminación.
Este parámetro solo se puede establecer en NULL si szValue también es NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.
Valor devuelto
La función MsiSourceListGetInfo devuelve los valores siguientes.
Valor | Significado |
---|---|
|
El usuario no tiene la capacidad de leer la lista de origen especificada. Esto no indica si se encuentra un producto o una revisión. |
|
Los datos de configuración están dañados. |
|
Se pasa un parámetro no válido a la función . |
|
El búfer proporcionado no es suficiente para contener los datos solicitados. |
|
La propiedad se recupera correctamente. |
|
No se encuentra la revisión. |
|
No se encuentra el producto. |
|
No se encuentra la propiedad de origen. |
|
Error interno inesperado. |
Comentarios
Los administradores pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto de la máquina o en su propio contexto por usuario (administrado o no administrado). Pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto administrado por usuario de cualquier usuario. Los administradores no pueden modificar la instalación de otro usuario de una instancia de producto o revisión que exista en ese contexto no administrado por usuario de otro usuario.
Los no administradores no pueden modificar la instalación de una instancia de producto o revisión que existe en el contexto por usuario de otro usuario (administrado o no administrado). Pueden modificar la instalación de un producto o una instancia de revisión que existe en su propio contexto no administrado por usuario. Pueden modificar la instalación de un producto o una instancia de revisión en el contexto de la máquina o su propio contexto administrado por usuario solo si están habilitados para buscar un origen de revisión o producto. Los usuarios se pueden habilitar para buscar orígenes estableciendo la directiva . Para obtener más información, vea DisableBrowse, AllowLockdownBrowse y Directivas AlwaysInstallElevated .
Nota:
El encabezado msi.h define MsiSourceListGetInfo 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 3.0, o posterior, 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
No se admite en Windows Installer 2.0 ni en versiones anteriores