Compartilhar via


estrutura SYMBOL_INFOW (dbghelp.h)

Contém informações de símbolo.

Sintaxe

typedef struct _SYMBOL_INFOW {
  ULONG   SizeOfStruct;
  ULONG   TypeIndex;
  ULONG64 Reserved[2];
  ULONG   Index;
  ULONG   Size;
  ULONG64 ModBase;
  ULONG   Flags;
  ULONG64 Value;
  ULONG64 Address;
  ULONG   Register;
  ULONG   Scope;
  ULONG   Tag;
  ULONG   NameLen;
  ULONG   MaxNameLen;
  WCHAR   Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;

Membros

SizeOfStruct

O tamanho da estrutura, em bytes. Esse membro deve ser definido como sizeof(SYMBOL_INFO). Observe que o tamanho total dos dados é o SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR). O motivo para subtrair um é que o primeiro caractere no nome é contabilizado no tamanho da estrutura.

TypeIndex

Um valor exclusivo que identifica os dados de tipo que descrevem o símbolo. Esse valor não persiste entre as sessões.

Reserved[2]

Esse membro é reservado para uso do sistema.

Index

O valor exclusivo do símbolo. O valor associado a um símbolo não tem garantia de ser o mesmo sempre que você executar o processo.

Para símbolos PDB, o valor de índice de um símbolo não é gerado até que o símbolo seja enumerado ou recuperado por meio de uma pesquisa por nome ou endereço. Os valores de índice para todos os símbolos CodeView e COFF são gerados quando os símbolos são carregados.

Size

O tamanho do símbolo, em bytes. Esse valor será significativo somente se os símbolos do módulo forem de um arquivo pdb; caso contrário, esse valor normalmente é zero e deve ser ignorado.

ModBase

O endereço base do módulo que contém o símbolo.

Flags

Esse membro pode ser um ou mais dos valores a seguir.

Valor Significado
SYMFLAG_CLR_TOKEN
0x00040000
O símbolo é um token CLR.
SYMFLAG_CONSTANT
0x00000100
O símbolo é uma constante.
SYMFLAG_EXPORT
0x00000200
O símbolo é da tabela de exportação.
SYMFLAG_FORWARDER
0x00000400
O símbolo é um encaminhador.
SYMFLAG_FRAMEREL
0x00000020
Os deslocamentos são relativos ao quadro.
SYMFLAG_FUNCTION
0x00000800
O símbolo é uma função conhecida.
SYMFLAG_ILREL
0x00010000
O endereço do símbolo é um deslocamento relativo ao início do bloco de idioma intermediário. Isso se aplica somente ao código gerenciado.
SYMFLAG_LOCAL
0x00000080
O símbolo é uma variável local.
SYMFLAG_METADATA
0x00020000
O símbolo é metadados gerenciados.
SYMFLAG_PARAMETER
0x00000040
O símbolo é um parâmetro.
SYMFLAG_REGISTER
0x00000008
O símbolo é um registro. O membro Registrar é usado.
SYMFLAG_REGREL
0x00000010
Os deslocamentos são relativos ao registro.
SYMFLAG_SLOT
0x00008000
O símbolo é um slot de código gerenciado.
SYMFLAG_THUNK
0x00002000
O símbolo é um thunk.
SYMFLAG_TLSREL
0x00004000
O símbolo é um deslocamento para a área de dados do TLS.
SYMFLAG_VALUEPRESENT
0x00000001
O membro Value é usado.
SYMFLAG_VIRTUAL
0x00001000
O símbolo é um símbolo virtual criado pela função SymAddSymbol.

Value

O valor de uma constante.

Address

O endereço virtual do início do símbolo.

Register

O registro.

Scope

O escopo dia. Para obter mais informações, consulte a do SDK de Acesso à Interface de Depuração na documentação do Visual Studio. (Esse recurso pode não estar disponível em alguns idiomas

e países.)

Tag

A classificação do PDB. Esses valores são definidos em Dbghelp.h no tipo de enumeração SymTagEnum.

NameLen

O comprimento do nome, em caracteres, não incluindo o caractere de terminação nula.

MaxNameLen

O tamanho do buffer nome do , em caracteres. Se esse membro for 0, o Name membro não será usado.

Name[1]

O nome do símbolo. O nome poderá ser não corrigido se a opção SYMOPT_UNDNAME for usada com a função SymSetOptions.

Observações

Nota

O cabeçalho dbghelp.h define SYMBOL_INFO 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
cabeçalho dbghelp.h
redistribuível DbgHelp.dll 5.1 ou posterior

Consulte também

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName