Debugging Tools for Windows

GetNextSymbolMatch

The GetNextSymbolMatch and GetNextSymbolMatchWide methods return the next symbol found in a symbol search.

HRESULT
  IDebugSymbols::GetNextSymbolMatch(
    IN ULONG64  Handle,
    OUT OPTIONAL PSTR  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  MatchSize,
    OUT OPTIONAL PULONG64  Offset
    );

HRESULT
  IDebugSymbols3::GetNextSymbolMatchWide(
    IN ULONG64  Handle,
    OUT OPTIONAL PWSTR  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  MatchSize,
    OUT OPTIONAL PULONG64  Offset
    );

#ifdef UNICODE
#define GetNextSymbolMatchT GetNextSymbolMatchWide
#else
#define GetNextSymbolMatchT GetNextSymbolMatch
#endif

Parameters

Handle
Specifies the handle returned by StartSymbolMatch when the search was initialized.
Buffer
Receives the name of the symbol. If Buffer is NULL, the same symbol will be returned again next time one of these methods are called (with the same handle); this can be used to determine the size of the name of the symbol.
BufferSize
Specifies the size in characters of the buffer.
MatchSize
Receives the size in characters of the name of the symbol. If MatchSize is NULL, this information is not returned.
Offset
Receives the location in the target's virtual address space of the symbol. If Offset is NULL, this information is not returned.

Return Value

S_OK
The method was successful.
S_FALSE
The size of the buffer was too small for the name of the symbol, or Buffer was NULL.
E_NOINTERFACE
No more symbols were found matching the pattern.

This method may also return other error values. See Return Values for more details.

Interface Version

GetNextSymbolMatch is available in all versions of IDebugSymbols. GetNextSymbolMatchWide is available in IDebugSymbols3 and later versions.

Comments

The search must first be initialized by StartSymbolMatch. Once all the desired symbols have been found, EndSymbolMatch can be used to release the resources the engine holds for the search.

For more information about symbols, see Symbols.

Requirements

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

See Also

EndSymbolMatch, StartSymbolMatch

Build machine: CAPEBUILD