Hi!
Types that contain <> cannot be added using Add type → C syntax.
For example, you can open the library C:\Windows\System32\WinTypes.dll and load the corresponding PDB file. Then you can use Copy full type(s) to copy _tlgWrapperByVal<1> or _IMAGE_SYMBOL types. You’ll receive the following data in your clipboard:
/* 1929 */
struct __cppobj _tlgWrapperByVal<1>
{
const unsigned __int8 Value;
};
or
/* 3104 */
struct _IMAGE_SYMBOL::<unnamed_type_N>::<unnamed_type_Name>
{
unsigned int Short;
unsigned int Long;
};
/* 3105 */
union _IMAGE_SYMBOL::<unnamed_type_N>
{
unsigned __int8 ShortName[8];
_IMAGE_SYMBOL::<unnamed_type_N>::<unnamed_type_Name> Name;
unsigned int LongName[2];
};
/* 3106 */
struct __unaligned __declspec(align(2)) _IMAGE_SYMBOL
{
_IMAGE_SYMBOL::<unnamed_type_N> N;
unsigned int Value;
__int16 SectionNumber;
unsigned __int16 Type;
unsigned __int8 StorageClass;
unsigned __int8 NumberOfAuxSymbols;
};
When trying to add these types to a fresh database using Add type → C syntax, you’ll get Bad declaration.