Função MsiEnumPatchesA (msi.h)
A função MsiEnumPatches enumera todos os patches que foram aplicados a um produto. A função retorna o GUID de código de patch para cada patch que foi aplicado ao produto e retorna uma lista de transformações de cada patch que se aplicam ao produto. Observe que os patches podem ter muitas transformações apenas algumas das quais são aplicáveis a um produto específico. A lista de transformações é retornada no mesmo formato que o valor da propriedade TRANSFORMS
Sintaxe
UINT MsiEnumPatchesA(
[in] LPCSTR szProduct,
[in] DWORD iPatchIndex,
[out] LPSTR lpPatchBuf,
[out] LPSTR lpTransformsBuf,
[in, out] LPDWORD pcchTransformsBuf
);
Parâmetros
[in] szProduct
Especifica o código do produto para o qual os patches devem ser enumerados.
[in] iPatchIndex
Especifica o índice do patch a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumPatches e incrementada para chamadas subsequentes.
[out] lpPatchBuf
Ponteiro para um buffer que recebe o GUID do patch. Esse argumento é necessário.
[out] lpTransformsBuf
Ponteiro para um buffer que recebe a lista de transformações no patch aplicável ao produto. Esse argumento é necessário e não pode ser Nulo.
[in, out] pcchTransformsBuf
Defina como o número de caracteres copiados para lpTransformsBuf após um retorno malsucedido da função. Não definido para um retorno bem-sucedido. Na entrada, esse é o tamanho total do buffer, incluindo um espaço para um caractere nulo de terminação. Se o buffer passado for muito pequeno, a contagem retornada não incluirá o caractere nulo de encerramento.
Valor de retorno
Valor | Significado |
---|---|
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido foi passado para a função. |
|
Não há patches a serem retornados. |
|
Um valor foi enumerado. |
|
Um buffer é muito pequeno para conter os dados solicitados. |
Observações
Para enumerar patches, um aplicativo deve inicialmente chamar a função MsiEnumPatches com o parâmetro iPatchIndex definido como zero. Em seguida, o aplicativo deve incrementar o parâmetro iPatchIndex e chamar msiEnumPatches até que não haja mais produtos (até que a função retorne ERROR_NO_MORE_ITEMS).
Se o buffer for muito pequeno para armazenar os dados solicitados, MsiEnumPatches retornará ERROR_MORE_DATA e pcchTransformsBuf contém o número de caracteres copiados para lpTransformsBuf, sem contar o caractere Null.
Nota
O cabeçalho msi.h define MsiEnumPatches 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 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 |