Função MsiEnumPatchesExA (msi.h)
A função MsiEnumPatchesEx enumera todos os patches em um contexto específico ou em todos os contextos. Os patches já aplicados aos produtos são enumerados. Os patches que foram registrados, mas ainda não aplicados aos produtos, também são enumerados.
Sintaxe
UINT MsiEnumPatchesExA(
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwFilter,
[in] DWORD dwIndex,
[out, optional] CHAR [39] szPatchCode,
[out, optional] CHAR [39] szTargetProductCode,
[out, optional] MSIINSTALLCONTEXT *pdwTargetProductContext,
[out, optional] LPSTR szTargetUserSid,
[in, out, optional] LPDWORD pcchTargetUserSid
);
Parâmetros
[in, optional] szProductCode
Uma cadeia de caracteres terminada em nulo que especifica o ProductCode GUID do produto cujos patches são enumerados. Se nãoNULL, a enumeração de patch será restrita a instâncias deste produto no usuário e no contexto especificado por szUserSid e dwContext. Se NULL, os patches de todos os produtos no contexto especificado serão enumerados.
[in, optional] szUserSid
Uma cadeia de caracteres terminada em nulo que especifica um SID (identificador de segurança) que restringe o contexto de enumeração. A cadeia de caracteres sid especial "S-1-1-0" (Todos) especifica a enumeração entre todos os usuários no sistema. Um valor sid diferente de "S-1-1-0" é considerado um SID de usuário e restringe a enumeração a esse usuário. Ao enumerar para um usuário diferente do usuário atual, todos os patches aplicados em um contexto não gerenciado por usuário usando uma versão menor que o Windows Installer versão 3.0 não são enumerados. Esse parâmetro pode ser definido como NULL para especificar o usuário atual.
[in] dwContext
Restringe a enumeração a um ou a uma combinação de contextos. Esse parâmetro pode ser qualquer um ou uma combinação dos valores a seguir.
[in] dwFilter
O filtro para enumeração. Esse parâmetro pode ser uma ou uma combinação dos parâmetros a seguir.
[in] dwIndex
O índice do patch a ser recuperado. Esse parâmetro deve ser zero para a primeira chamada para a função MsiEnumPatchesEx e incrementado para chamadas subsequentes. O parâmetro dwIndex deve ser incrementado somente se a chamada anterior retornada ERROR_SUCCESS.
[out, optional] szPatchCode
Um buffer de saída para conter o GUID do patch que está sendo enumerado. O buffer deve ser grande o suficiente para manter o GUID. Esse parâmetro pode ser NULL.
[out, optional] szTargetProductCode
Um buffer de saída para conter o ProductCode GUID do produto que recebe esse patch. O buffer deve ser grande o suficiente para manter o GUID. Esse parâmetro pode ser NULL.
[out, optional] pdwTargetProductContext
Retorna o contexto do patch que está sendo enumerado. O valor de saída pode ser MSIINSTALLCONTEXT_USERMANAGED, MSIINSTALLCONTEXT_USERUNMANAGEDou MSIINSTALLCONTEXT_MACHINE. Esse parâmetro pode ser NULL.
[out, optional] szTargetUserSid
Um buffer de saída que recebe o SID da cadeia de caracteres da conta na qual essa instância de patch existe. Esse buffer retorna uma cadeia de caracteres vazia para um contexto por computador.
Esse buffer deve ser grande o suficiente para conter o SID. Se o buffer for muito pequeno, a função retornará ERROR_MORE_DATA e definirá * pcchTargetUserSid para o número de TCHAR no valor, sem incluir o caractere NULL de terminação.
Se o szTargetUserSid
Se szTargetUserSid e pcchTargetUserSid estiverem definidos como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.
[in, out, optional] pcchTargetUserSid
Um ponteiro para uma variável que especifica o número de
Esse parâmetro poderá ser definido como NULL somente se szTargetUserSid também estiver NULL, caso contrário, a função retornará ERROR_INVALID_PARAMETER.
Valor de retorno
A função MsiEnumPatchesEx
Código de retorno | Descrição |
---|---|
|
A função falha ao tentar acessar um recurso com privilégios insuficientes. |
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido é passado para a função. |
|
Não há mais patches para enumerar. |
|
O patch é enumerado com êxito. |
|
O produto que szProduct especifica não está instalado no computador nos contextos especificados. |
|
Isso é retornado quando pcchTargetUserSid aponta para um tamanho de buffer menor do que o necessário para copiar o SID. Nesse caso, o usuário pode corrigir o buffer e chamar MsiEnumPatchesEx novamente para o mesmo valor de índice. |
Observações
Os não administradores podem enumerar patches somente em sua visibilidade. Os administradores podem enumerar patches para outros contextos de usuário.
Nota
O cabeçalho msi.h define MsiEnumPatchesEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do 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. 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
de contexto de instalação
sem suporte no Windows Installer 2.0 e anteriores