Compartilhar via


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 MsiRecordGetString retorna um dos seguintes valores:

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

Funções de processamento de registro