Compartir a través de


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

El 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 se 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 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 estar MSIINSTALLCONTEXT_MACHINE.

Tipo de SID Significado
NULL
NULL denota el usuario que ha iniciado sesión actualmente. Al hacer referencia a la cuenta de usuario actual, szUserSID puede ser NULL y dwContext puede ser MSIINSTALLCONTEXT_USERMANAGED o MSIINSTALLCONTEXT_USERUNMANAGED.
siD de usuario de
Especifica la enumeración de un usuario específico del sistema. Un ejemplo de SID de usuario es "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota La cadena de SID especial s-1-5-18 (sistema) no se puede usar para enumerar productos o revisiones instalados según la máquina. Al establecer el valor del SID en s-1-5-18, se devuelve ERROR_INVALID_PARAMETER.
 
Nota No se debe usar la cadena de SID especial s-1-1-0 (todos). Se produce un error al establecer el valor del SID en s-1-1-0 y devuelve ERROR_INVALID_PARAM.
 

[in] dwContext

Este parámetro especifica el contexto de la instancia de producto o revisión. Este parámetro puede contener uno de los siguientes valores.

Tipo de contexto Significado
MSIINSTALLCONTEXT_USERMANAGED
La instancia de producto o revisión existe en el contexto administrado por usuario.
MSIINSTALLCONTEXT_USERUNMANAGED
La instancia de producto o revisión existe en el contexto por usuario no administrado.
MSIINSTALLCONTEXT_MACHINE
La instancia de producto o revisión existe en el contexto por máquina.

[in] dwOptions

El valor dwOptions de especifica el significado de szProductCodeOrPatchCode.

Bandera Significado
MSICODE_PRODUCT
szProductCodeOrPatchCode es un GUID de código de producto.
MSICODE_PATCH
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.

Nombre Significado
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Ruta de acceso relativa a la raíz del medio de instalación.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Plantilla de solicitud que se usa al solicitar al usuario los medios de instalación.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
La ubicación de origen usada más recientemente para el producto.
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
Un valor "n" si el origen usado por última vez es una ubicación de red. Un valor "u" si el origen usado por última vez es una ubicación de dirección URL. Un valor "m" si el último origen usado es multimedia. Cadena vacía ("") si no hay ningún origen usado por última vez.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nombre del paquete de Windows Installer o del paquete de revisión en el origen.

[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 al número de TCHAR en el valor, no incluido el carácter NULL de terminación.

Si el szValue de se establece en NULL y pcchValue se establece en un puntero válido, la función devuelve ERROR_SUCCESS y establece *pcchValue al 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 szValue buffer 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 de szValue. Cuando se devuelve la función, este parámetro se establece en el tamaño del valor solicitado 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 se puede establecer en NULL solo si szValue también es NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

Valor devuelto

La función MsiSourceListGetInfo devuelve los siguientes valores.

Valor Significado
ERROR_ACCESS_DENIED
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.
ERROR_BAD_CONFIGURATION
Los datos de configuración están dañados.
ERROR_INVALID_PARAMETER
Se pasa un parámetro no válido a la función .
ERROR_MORE_DATA
El búfer proporcionado no es suficiente para contener los datos solicitados.
ERROR_SUCCESS
La propiedad se recupera correctamente.
ERROR_UNKNOWN_PATCH
No se encuentra la revisión.
ERROR_UNKNOWN_PRODUCT
No se encuentra el producto.
ERROR_UNKNOWN_PROPERTY
No se encuentra la propiedad de origen.
ERROR_FUNCTION_FAILED
Un error interno inesperado.

Observaciones

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 por usuario no administrado.

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 una instancia de producto o revisión que existe bajo su propio contexto por usuario y no administrado. 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 producto o origen de revisión. Los usuarios se pueden habilitar para buscar orígenes estableciendo la directiva . Para obtener más información, vea DisableBrowse, AllowLockdownBrowsey directivas de 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido 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 Run-Time Requirements (Requisitos de Windows Installer) para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
de la plataforma de destino de Windows
encabezado de msi.h
biblioteca de Msi.lib
DLL de Msi.dll

Consulte también

MsiSourceListSetInfo

no compatibles con Windows Installer 2.0 y versiones anteriores

productCode