Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the following new constants to
um/DbgHelp/Windows.Manual.cs
:UNDNAME_RESERVED1
(0x0020)UNDNAME_RESERVED2
(0x0040)UNDNAME_TYPE_ONLY
(0x2000)UNDNAME_HAVE_PARAMETERS
(0x4000)UNDNAME_NO_ECSU
(0x8000)UNDNAME_NO_IDENT_CHAR_CHECK
(0x10000)UNDNAME_NO_PTR64
(0x20000)As far as I am aware, these are not present in any public headers. However, they are documented in at least two places:
IDiaSymbol::get_undecoratedNameEx
's documentation page:undname.exe -show_flags
:I have used the descriptions from the
IDiaSymbol::get_undecoratedNameEx
documentation page for the XML documentation comments.Additionally, here are some notes describing some oddities that these constants reveal about the
UNDNAME_
flag set:UNDNAME_TYPE_ONLY
shares its value withUNDNAME_NO_ARGUMENTS
which does exist in the headers, despite not representing the current behavior of the flag (unlike the former).UNDNAME_RESERVED1
andUNDNAME_RESERVED2
share their values withUNDNAME_NO_MS_THISTYPE
andUNDNAME_NO_CV_THISTYPE
respectively. I am not sure which of the two sets of names represent today's behavior, but it is interesting thatundname.exe
does not describe the meaning of either.UNDNAME_NO_SPECIAL_SYMS
shares its value withUNDNAME_HAVE_PARAMETERS
. No description is given for it byundname.exe
and I have not determined which name is more accurate.Maybe it would be worth opening an issue to have the C++ documentation updated to address these ambiguities?