Debugging Tools for Windows

GetPseudoDescription

The GetPseudoDescription and GetPseudoDescriptionWide methods return a description of a pseudo-register, including its name and type.

HRESULT
  IDebugRegisters2::GetPseudoDescription(
    IN ULONG  Register,
    OUT OPTIONAL PSTR  NameBuffer,
    IN ULONG  NameBufferSize,
    OUT OPTIONAL PULONG  NameSize,
    OUT OPTIONAL PULONG64  TypeModule,
    OUT OPTIONAL PULONG  TypeId
    );

HRESULT
  IDebugRegisters2::GetPseudoDescriptionWide(
    IN ULONG  Register,
    OUT OPTIONAL PWSTR  NameBuffer,
    IN ULONG  NameBufferSize,
    OUT OPTIONAL PULONG  NameSize,
    OUT OPTIONAL PULONG64  TypeModule,
    OUT OPTIONAL PULONG  TypeId
    );

#ifdef UNICODE
#define GetPseudoDescriptionT GetPseudoDescriptionWide
#else
#define GetPseudoDescriptionT GetPseudoDescription
#endif

Parameters

Register
Specifies the index of the pseudo-register whose description is requested. The index is always between zero and the number of pseudo-registers (returned by GetNumberPseudoRegisters) minus one.
NameBuffer
Receives the name of the pseudo-register. If NameBuffer is NULL, this information is not returned.
NameBufferSize
Specifies the size, in characters, of the buffer that NameBuffer specifies.
NameSize
Receives the size in characters of the name of the pseudo-register. If NameSize is NULL, this information is not returned.
TypeModule
Receives the base address of the module to which the register's type belongs. If the type of the register is not known, zero is returned. If TypeModule is NULL, no information is returned.
TypeId
Receives the type ID of the type within the module returned in TypeModule. If the type ID is not known, zero is returned. If TypeId is NULL, no information is returned.

Return Value

S_OK
The method was successful.
E_FAIL
The description for the register was not available

This list does not contain all the errors that might occur. For a list of possible errors, see HRESULT Values.

Interface Version

GetPseudoDescription and GetPseudoDescriptionWide are available in IDebugRegisters2 and later versions.

Comments

Descriptions are not always available for all registers. If a pseudo-register does not have a value ‑ for example, $eventip will not have a value before an event has occurred ‑ or a type cannot be determined for a pseudo-register, this method will return E_FAIL.

For an overview of the IDebugRegisters interface and other register-related methods, see Registers.

Requirements

Headers: Defined in DbgEng.h. Include DbgEng.h.

See Also

GetNumberPseudoRegisters, GetPseudoIndexByName

Build machine: CAPEBUILD