Debugging Tools for Windows

OutputAsType

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.

HRESULT
  IDebugSymbolGroup::OutputAsType(
    IN ULONG  Index,
    IN PCSTR  Type
    );

HRESULT
  IDebugSymbolGroup2::OutputAsTypeWide(
    IN ULONG  Index,
    IN PCWSTR  Type
    );

#ifdef UNICODE
#define OutputAsTypeT OutputAsTypeWide
#else
#define OutputAsTypeT OutputAsType
#endif

Parameters

Index
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.
Type
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:

S_OK
The method was successful.

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

Comments

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.

Requirements

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