Compartilhar via


Função MsiSourceListGetInfoA (msi.h)

A função MsiSourceListGetInfo recupera informações sobre a lista de origem de um produto ou patch em um contexto específico.

Sintaxe

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

O ProductCode ou o GUID de patch do produto ou patch. Use uma cadeia de caracteres terminada em nulo. Se a cadeia de caracteres tiver mais de 39 caracteres, a função falhará e retornará ERROR_INVALID_PARAMETER. Esse parâmetro não pode ser NULL.

[in, optional] szUserSid

Esse parâmetro pode ser um SID (identificador de segurança de cadeia de caracteres) que especifica a conta de usuário que contém o produto ou patch. O SID não é validado ou resolvido. Um SID incorreto pode retornar ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH. Ao referenciar um contexto de computador, szUserSID deve ser NULL e dwContext deve ser MSIINSTALLCONTEXT_MACHINE.

Tipo de SID Significado
NULL
NULL indica o usuário conectado no momento. Ao referenciar a conta de usuário atual, szUserSID pode ser NULL e dwContext pode ser MSIINSTALLCONTEXT_USERMANAGED ou MSIINSTALLCONTEXT_USERUNMANAGED.
sid do usuário
Especifica a enumeração para um usuário específico no sistema. Um exemplo de SID de usuário é "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Observação A cadeia de caracteres sid especial s-1-5-18 (sistema) não pode ser usada para enumerar produtos ou patches instalados como por computador. Definir o valor de SID como s-1-5-18 retorna ERROR_INVALID_PARAMETER.
 
Observação a cadeia de caracteres sid especial s-1-1-0 (todos) não deve ser usada. A configuração do valor sid como s-1-1-0 falha e retorna ERROR_INVALID_PARAM.
 

[in] dwContext

Esse parâmetro especifica o contexto da instância do produto ou patch. Esse parâmetro pode conter um dos valores a seguir.

Tipo de contexto Significado
MSIINSTALLCONTEXT_USERMANAGED
A instância de patch ou produto existe no contexto gerenciado por usuário.
MSIINSTALLCONTEXT_USERUNMANAGED
A instância de patch ou produto existe no contexto por usuário não gerenciado.
MSIINSTALLCONTEXT_MACHINE
A instância do produto ou patch existe no contexto por computador.

[in] dwOptions

O valor dwOptions especifica o significado de szProductCodeOrPatchCode.

Bandeira Significado
MSICODE_PRODUCT
szProductCodeOrPatchCode é um GUID de código do produto.
MSICODE_PATCH
szProductCodeOrPatchCode é um GUID de código de patch.

[in] szProperty

Uma cadeia de caracteres terminada em nulo que especifica o valor da propriedade a ser recuperado. O parâmetro szProperty pode ser um dos valores a seguir.

Nome Significado
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
O caminho relativo à raiz da mídia de instalação.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
O modelo de prompt usado ao solicitar ao usuário a mídia de instalação.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
O local de origem usado mais recentemente para o produto.
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
Um "n" se a última origem usada for um local de rede. Um "u" se a última origem usada for um local de URL. Um "m" se a última fonte usada for mídia. Uma cadeia de caracteres vazia ("") se não houver nenhuma origem usada pela última vez.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
O nome do pacote do Windows Installer ou do pacote de patch na origem.

[out, optional] szValue

Um buffer de saída que recebe as informações. Esse buffer deve ser grande o suficiente para conter as informações. Se o buffer for muito pequeno, a função retornará ERROR_MORE_DATA e definirá * pcchValue para o número de TCHAR no valor, não incluindo o caractere NULL de encerramento.

Se o szValue estiver definido como NULL e pcchValue for definido como um ponteiro válido, a função retornará ERROR_SUCCESS e definirá * pcchValue para o número de TCHAR no valor, não incluindo o caractere NULL de encerramento. Em seguida, a função pode ser chamada novamente para recuperar o valor, com szValue buffer grande o suficiente para conter *pcchValue + 1 caracteres.

Se szValue e pcchValue estiverem definidas como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.

[in, out, optional] pcchValue

Um ponteiro para uma variável que especifica o número de TCHAR no buffer szValue do . Quando a função retorna, esse parâmetro é definido como o tamanho do valor solicitado se a função copia ou não o valor para o buffer especificado. O tamanho é retornado como o número de TCHAR no valor solicitado, não incluindo o caractere nulo de terminação.

Esse parâmetro poderá ser definido como NULL somente se szValue também estiver NULL, caso contrário, a função retornará ERROR_INVALID_PARAMETER.

Valor de retorno

A função MsiSourceListGetInfo retorna os valores a seguir.

Valor Significado
ERROR_ACCESS_DENIED
O usuário não tem a capacidade de ler a lista de origem especificada. Isso não indica se um produto ou patch foi encontrado.
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INVALID_PARAMETER
Um parâmetro inválido é passado para a função.
ERROR_MORE_DATA
O buffer fornecido não é suficiente para conter os dados solicitados.
ERROR_SUCCESS
A propriedade é recuperada com êxito.
ERROR_UNKNOWN_PATCH
O patch não foi encontrado.
ERROR_UNKNOWN_PRODUCT
O produto não foi encontrado.
ERROR_UNKNOWN_PROPERTY
A propriedade de origem não foi encontrada.
ERROR_FUNCTION_FAILED
Uma falha interna inesperada.

Observações

Os administradores podem modificar a instalação de uma instância de patch ou produto que existe no contexto do computador ou em seu próprio contexto por usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de uma instância de patch ou produto que existe no contexto por usuário gerenciado por usuário. Os administradores não podem modificar a instalação de outro usuário de um produto ou instância de patch que existe no contexto não gerenciado por usuário de outro usuário.

Os não administradores não podem modificar a instalação de uma instância de patch ou produto existente no contexto por usuário de outro usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de uma instância de patch ou produto que existe em seu próprio contexto não gerenciado por usuário. Eles podem modificar a instalação de uma instância de patch ou produto no contexto do computador ou em seu próprio contexto gerenciado por usuário somente se estiverem habilitados para procurar uma fonte de patch ou produto. Os usuários podem ser habilitados para procurar fontes definindo a política. Para obter mais informações, consulte DisableBrowse, AllowLockdownBrowsee políticas de AlwaysInstallElevated.

Nota

O cabeçalho msi.h define MsiSourceListGetInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer 3.0 ou posterior no Windows Server 2003 ou Windows XP. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

MsiSourceListSetInfo

sem suporte no Windows Installer 2.0 e anteriores

ProductCode