Função MsiRecordGetStringA (msiquery.h)
A função MsiRecordGetString retorna o valor da cadeia de caracteres de um campo de registro.
Sintaxe
UINT MsiRecordGetStringA(
[in] MSIHANDLE hRecord,
[in] UINT iField,
[out] LPSTR szValueBuf,
[in, out] LPDWORD pcchValueBuf
);
Parâmetros
[in] hRecord
Manipule para o registro.
[in] iField
Especifica o campo solicitado.
[out] szValueBuf
Ponteiro para o buffer que recebe a cadeia de caracteres terminada nula que contém o valor do campo de registro. Não tente determinar o tamanho do buffer passando um valor nulo (valor=0) para szValueBuf. Você pode obter o tamanho do buffer passando uma cadeia de caracteres vazia (por exemplo, ""). Em seguida, a função retorna ERROR_MORE_DATA e pcchValueBuf contém o tamanho do buffer necessário em TCHARs, não incluindo o caractere nulo de terminação. No retorno de ERROR_SUCCESS, pcchValueBuf contém o número de TCHARs gravados no buffer, sem incluir o caractere nulo de terminação.
[in, out] pcchValueBuf
Ponteiro para a variável que especifica o tamanho, em TCHARs, do buffer apontado pela variável szValueBuf. Quando a função retorna ERROR_SUCCESS, essa variável contém o tamanho dos dados copiados para szValueBuf, sem incluir o caractere nulo de terminação. Se szValueBuf não for grande o suficiente, a função retornará ERROR_MORE_DATA e armazenará o tamanho necessário, não incluindo o caractere nulo de encerramento, na variável apontada por pcchValueBuf.
Valor de retorno
A função
Observações
Se ERROR_MORE_DATA for retornado, o parâmetro que é um ponteiro fornecerá o tamanho do buffer necessário para manter a cadeia de caracteres. Se ERROR_SUCCESS for retornado, ele fornecerá o número de caracteres gravados no buffer de cadeia de caracteres. Para obter o tamanho do buffer, passe o endereço de um buffer de 1 caractere como szValueBuf e especifique o tamanho do buffer com pcchValueBuf como 0. Isso garante que nenhum valor de cadeia de caracteres retornado pela função se ajuste ao buffer. Não tente determinar o tamanho do buffer passando um Nulo (valor=0).
Nota
O cabeçalho msiquery.h define MsiRecordGetString 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. |
da Plataforma de Destino |
Windows |
cabeçalho | msiquery.h |
biblioteca | Msi.lib |
de DLL |
Msi.dll |
Consulte também
passando nulo como o argumento do Windows Installer Functions