Debugging Tools for Windows


The OutputAsType and OutputAsTypeWide methods change the type of a symbol in a symbol group. The symbol's entry is updated to represent the new type.

    IN ULONG  Index,
    IN PCSTR  Type

    IN ULONG  Index,
    IN PCWSTR  Type

#ifdef UNICODE
#define OutputAsTypeT OutputAsTypeWide
#define OutputAsTypeT OutputAsType


The index of the entry in this symbol group. The index of a symbol is an identification number. The index ranges from zero through the number of symbols in the symbol group minus one.
Tthe name of the type of the symbol that you want. If the name begins with an exclamation mark (!), the name is treated as an extension. For more information about how to use an extension as a type, see the Comments section.

Return Value

OutputAsType and OutputAsTypeWide might return one of the following values:

The method was successful.

This method might also return error values. For more information about possible return values, see Return Values.


Because the children of the new entry type might differ from the children of the old entry type, the OutputAsType method removes all of the children of the entry from the symbol group. You can add the children back by using the ExpandSymbol method.

If Type is an extension, the address of the symbol is passed to the extension. Every line of output from the extension becomes a child symbol of the specified symbol. These child symbols are text and you cannot manipulate them in any way. For example, if the name of a variable is @$teb, you can change its type to !teb.

For more information about symbol groups, see Scopes and Symbol Groups.


Versions: OutputAsType is available in all versions of IDebugSymbolGroup. OutputAsTypeWide is available in IDebugSymbolGroup2 and later versions.

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

GetNumberSymbols, ExpandSymbol

Build machine: CAPEBUILD