The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at IDiaSymbol::get_type.

Retrieves the symbol that represents the type for this symbol.

HRESULT get_type (   
   IDiaSymbol** pRetVal  


[out] Returns an IDiaSymbol object that represents the type of this symbol.

If successful, returns S_OK; otherwise, returns S_FALSE or an error code.

System_CAPS_ICON_note.jpg Note

A return value of S_FALSE means the property is not available for the symbol.

To determine the type a symbol has, you must call this method and examine the resulting IDiaSymbol object. Note that it is possible for a symbol to not have a type. For example, the name of a structure has no type but it might have children symbols (use the IDiaSymbol::findChildren method to examine those children).

IDiaSymbol*         pType;  
CComPtr<IDiaSymbol> pBaseType;  
if (SUCCEEDED(pType->get_type( &pBaseType ))) {  
    BasicType btBaseType;  
    if (SUCCEEDED(pBaseType->get_baseType((DWORD *)&btBaseType))) {  
        // Do something with basic type.