Função MsiEnumPatchesW (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 MsiEnumPatchesW(
[in] LPCWSTR szProduct,
[in] DWORD iPatchIndex,
[out] LPWSTR lpPatchBuf,
[out] LPWSTR lpTransformsBuf,
[in, out] LPDWORD pcchTransformsBuf
);
Parâmetros
[in] szProduct
Especifica o código do produto 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 incrementado 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 Null.
[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 terminação.
Valor retornado
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 armazenar os dados solicitados. |
Comentários
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 conterá o número de caracteres copiados para lpTransformsBuf, sem contar o caractere Null.
Observação
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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer. |
Plataforma de Destino | Windows |
Cabeçalho | msi.h |
Biblioteca | Msi.lib |
DLL | Msi.dll |