Função MsiSourceListEnumMediaDisksA (msi.h)
A função MsiSourceListEnumMediaDisks enumera a lista de discos registrados para a fonte de mídia para um patch ou produto.
Sintaxe
UINT MsiSourceListEnumMediaDisksA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[out, optional] LPDWORD pdwDiskId,
[out, optional] LPSTR szVolumeLabel,
[in, out, optional] LPDWORD pcchVolumeLabel,
[out, optional] LPSTR szDiskPrompt,
[in, out, optional] LPDWORD pcchDiskPrompt
);
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
Um SID 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.
[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.
[in] dwOptions
O dwOptions valor que especifica o significado de szProductCodeOrPatchCode.
Bandeira | Significado |
---|---|
|
szProductCodeOrPatchCode é um GUID de código do produto. |
|
szProductCodeOrPatchCode é um GUID de código de patch. |
[in] dwIndex
O índice da origem a ser recuperada. Esse parâmetro deve ser 0 (zero) para a primeira chamada para a função MsiSourceListEnumMediaDisks e incrementado para chamadas subsequentes até que a função retorne ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
Na entrada para MsiSourceListEnumMediaDisks esse parâmetro fornece um ponteiro para um DWORD para receber a ID do disco que está sendo enumerado. Esse parâmetro é opcional.
[out, optional] szVolumeLabel
Um buffer de saída que recebe o rótulo de volume do disco que está sendo enumerado. 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á *pcchVolumeLabel para o número de TCHAR no valor, sem incluir o caractere NULL de terminação.
Se szVolumeLabel e pcchVolumeLabel estiverem definidos como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.
[in, out, optional] pcchVolumeLabel
Um ponteiro para uma variável que especifica o número de TCHAR
Esse parâmetro poderá ser definido como NULL somente se szVolumeLabel também estiver NULL, caso contrário, a função retornará ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Um buffer de saída que recebe o prompt de disco do disco que está sendo enumerado. 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á * pcchDiskPrompt para o número de TCHAR no valor, não incluindo o caractere NULL de terminação.
Se o szDiskPrompt
Se szDiskPrompt e pcchDiskPrompt estiverem definidos como NULL, a função retornará ERROR_SUCCESS se o valor existir, sem recuperar o valor.
[in, out, optional] pcchDiskPrompt
Um ponteiro para uma variável que especifica o número de
Esse parâmetro pode ser definido como NULL somente se szDiskPrompt também estiver NULL, caso contrário, a função retornará ERROR_INVALID_PARAMETER.
Valor de retorno
A função MsiSourceListEnumMediaDisks retorna os valores a seguir.
Valor | Significado |
---|---|
|
O usuário não tem a capacidade de ler a fonte de mídia especificada ou o produto ou patch especificado. Isso não indica se uma fonte de mídia, um produto ou um patch foi encontrado. |
|
Os dados de configuração estão corrompidos. |
|
Um parâmetro inválido é passado para a função. |
|
Não há mais discos registrados para este produto ou patch. |
|
O valor é enumerado com êxito. |
|
O patch não foi encontrado. |
|
O produto não foi encontrado. |
|
O buffer fornecido é muito pequeno para conter as informações solicitadas. |
|
Falha interna inesperada. |
Observações
Ao fazer várias chamadas para MsiSourceListEnumMediaDisks para enumerar todas as fontes de uma única instância do produto, cada chamada deve ser feita do mesmo thread.
Um administrador pode enumerar instalações gerenciadas e não gerenciadas por usuário para si mesmo, instalações por computador e instalações gerenciadas por usuário para qualquer usuário. Um administrador não pode enumerar instalações não gerenciadas por usuário para outros usuários. Os não administradores só podem enumerar suas próprias instalações não gerenciadas e gerenciadas por usuário e instalações por computador.
Nota
O cabeçalho msi.h define MsiSourceListEnumMediaDisks 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. 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
de contexto de instalação
sem suporte no Windows Installer 2.0 e anteriores