Compartilhar via


VerQueryValue

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função retorna informações versão selecionada da versão especificada-recurso informações. Para recuperar o apropriado recurso, chamar GetFileVersionInfoSizee em seguida, chamar GetFileVersionInfo e, em seguida, chamar VerQueryValue.

Syntax

BOOL VerQueryValue(
  const LPVOID pBlock,
  LPTSTR lpSubBlock,
  LPVOID* lplpBuffer,
  PUINT puLen
);

Parameters

  • pBlock
    [no] Ponteiro para a reserva que contém a versão-retornado pelo recurso informações de GetFileVersionInfo função.
  • lpSubBlock
    [no] Ponteiro para um zero - seqüência de caracteres terminados especificar qual versão - valor informações para recuperar. O seqüência de caracteres devem consistir nomes separados por barras invertidas (\) e ele deve ter um dos formulários mostrados a seguinte tabela.

    Formulário Descrição

    \

    Especifica o bloco raiz.

    A função recupera um ponteiro para a estrutura VS_FIXEDFILEINFO para a versão-recurso informações.

    \StringFileInfo\lang-codepage\string-Name

    Especifica um valor em um específicos do idioma StringTable estrutura.

    O Lang - página de códigos nome é uma concatenação de uma linguagem e página de código identificador par encontrado como um DWORD na matriz a conversão para o recurso.

    Aqui o Lang-página de códigos nome deve ser especificado como um hexadecimal seqüência de caracteres.

    A função recupera uma valor da seqüência de caracteres específicos de linguagem e página de código indicado.

    O nome de seqüência de caracteres-nome deve ser uma do seguinte seqüências predefinidas:

    • Comentários
    • CompanyName
    • FileDescription
    • FileVersion
    • InternalName
    • LegalCopyright
    • LegalTrademarks
    • OriginalFilename
    • NomeDoProduto
    • ProductVersion
    • PrivateBuild
    • SpecialBuild

    \VarFileInfo\Translation

    Especifica a matriz de conversão em uma variável Var estrutura informações.

    A função recupera um ponteiro para uma matriz dos identificadores linguagem e página de código.

    Um aplicativo pode usar esses identificadores para acessar uma estrutura Language-specific StringTable a versão-recurso informações.

  • lplpBuffer
    [out] Ponteiro para uma variável que recebe um ponteiro para informações de versão solicitada na reserva apontado pelo pBlock. A memória apontado pelo *lplpBuffer é liberada quando o associado pBlock memória é liberada.
  • puLen
    [out] Ponteiro para uma reserva que recebe o comprimento, em caracteres, da versão-valor informações.

Return Value

Nonzero indica que a versão especificada - estrutura informações existe, e informações versão está disponível. Se o endereço de reserva a Comprimento for zero, nenhum valor estará disponível para a versão especificada-nome informações. Zero indica que o nome especificado não existe ou o recurso especificado não é válido.

Remarks

As funções informações versão são apenas compatível com 32-bit imagens arquivo Windows. Eles não são compatível com 16-bit imagens arquivo Windows.

O seguinte amostra de código mostra como enumerar o disponível versão idiomas e recuperar o seqüência de caracteres FileDescription-valor para cada linguagem. Verifique se chamar o GetFileVersionInfoSize e GetFileVersionInfo funções antes chamado VerQueryValue Para inicializar corretamente a reserva ** pBlock.

// Structure used to store enumerated languages and code pages.
struct LANGANDCODEPAGE {
  WORD wLanguage;
  WORD wCodePage;
} *lpTranslate;
// Read the list of languages and code pages.
DWORD cbTranslate = 0;
VerQueryValue(pBlock,
   TEXT("\\VarFileInfo\\Translation"),
   (LPVOID*)&lpTranslate,
   &cbTranslate);
// Read the file description for each language and code page.
for( i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ )
{
   wsprintf( SubBlock,
   TEXT("\\StringFileInfo\\%04x%04x\\FileDescription"),
   lpTranslate[i].wLanguage,
   lpTranslate[i].wCodePage);
   // Retrieve file description for language and code page "i".
   VerQueryValue(pBlock,
   SubBlock,
   &lpBuffer,
   &dwBytes);
}

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

System Management Functions
StringTable
Var
VS_FIXEDFILEINFO

Other Resources

GetFileVersionInfo
GetFileVersionInfoSize