Método IDebugHostModule::FindTypeByName (dbgmodel.h)
O método FindTypeByName localiza um tipo definido dentro do módulo pelo nome do tipo e retorna um símbolo de tipo para ele. Esse método pode retornar um IDebugHostType válido que nunca seria retornado por meio de recursão explícita de filhos do módulo. O host de depuração pode permitir a criação de tipos derivados – tipos nunca usados dentro do próprio módulo, mas derivados de tipos que são. Por exemplo, se a estrutura MyStruct for definida nos símbolos do módulo, mas o tipo MyStruct ** nunca for usado, o método FindTypeByName poderá retornar legitimamente um símbolo de tipo para MyStruct ** apesar desse nome de tipo nunca aparecer explicitamente nos símbolos do módulo.
Muitos hosts de depuração farão uma tentativa explícita de contextualizar o nome do tipo que é passado para o método FindTypeByName e encontrar um tipo correspondente dentro das informações simbólicas de acordo com as regras da linguagem e não uma comparação bruta com nomes de símbolo. Caso um host de depuração não consiga fazer isso, ele retornará à comparação bruta com nomes de símbolo.
Sintaxe
HRESULT FindTypeByName(
PCWSTR typeName,
IDebugHostType **type
);
Parâmetros
typeName
O tipo de linguagem a ser encontrado nas informações simbólicas do módulo. O tipo também pode ser derivado de (por exemplo: ser um ponteiro para ou uma matriz de) um tipo encontrado nas informações simbólicas do módulo.
type
Um símbolo de tipo para o tipo encontrado será retornado aqui.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha.
Comentários
Código de exemplo
ComPtr<IDebugHostModule> spModule; /* get a module (see FindModuleByName) */
// Find "MyStruct **". Note that only "MyStruct" might be in the symbols
ComPtr<IDebugHostType> spType;
if (SUCCEEDED(spModule->FindTypeByName(L"MyStruct **", &spType)))
{
// spType contains a type symbol for "MyStruct **"
}
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | dbgmodel.h |