擷取 C++ 裝飾 (連結) 名稱的部分或所有未裝飾名稱。
語法
HRESULT get_undecoratedNameEx(
DWORD undecorateOptions,
BSTR* pRetval
);
參數
undecoratedOptions
[in] 指定旗標的組合,以控制傳回的內容。 如需特定值及其用途,請參閱「備註」一節。
pRetVal
[out] 傳回 C++ 裝飾名稱的未裝飾名稱。
傳回值
如果成功,則會傳回 S_OK;否則,會傳回 S_FALSE 或錯誤碼。
注意
S_FALSE 傳回值表示屬性不適用於符號。
備註
undecorateOptions 可以是下列旗標的組合:
注意
旗標名稱未定義於 DIA SDK,因此您必須將宣告新增至程式碼或使用原始值。
| 旗標 | 值 | Description |
|---|---|---|
| UNDNAME_COMPLETE | 0x0000 | 啟用完全取消裝置。 |
| UNDNAME_NO_LEADING_UNDERSCORES | 0x0001 | 從 Microsoft 擴充關鍵字中移除前置底線。 |
| UNDNAME_NO_MS_KEYWORDS | 0x0002 | 停用 Microsoft 擴充關鍵字的擴充。 |
| UNDNAME_NO_FUNCTION_RETURNS | 0x0004 | 停用主要宣告的傳回型別擴充。 |
| UNDNAME_NO_ALLOCATION_MODEL | 0x0008 | 停用宣告模型的擴充。 |
| UNDNAME_NO_ALLOCATION_LANGUAGE | 0x0010 | 停用宣告語言規範的擴充。 |
| UNDNAME_RESERVED1 | 0x0020 | 保留。 |
| UNDNAME_RESERVED2 | 0x0040 | 保留。 |
| UNDNAME_NO_THISTYPE | 0x0060 | 停用 this 類型上的所有修飾詞。 |
| UNDNAME_NO_ACCESS_SPECIFIERS | 0x0080 | 停用成員的存取規範擴充。 |
| UNDNAME_NO_THROW_SIGNATURES | 0x0100 | 停用函式和函式指標的「擲回簽章」擴充。 |
| UNDNAME_NO_MEMBER_TYPE | 0x0200 | 停用 static 或 virtual 成員的擴充。 |
| UNDNAME_NO_RETURN_UDT_MODEL | 0x0400 | 停用 UDT 傳回的 Microsoft 模型擴充。 |
| UNDNAME_32_BIT_DECODE | 0x0800 | 取消裝置 32 位元裝飾名稱。 |
| UNDNAME_NAME_ONLY | 0x1000 | 只取得主要宣告的名稱;只會傳回 [scope::]name。 展開範本參數。 |
| UNDNAME_TYPE_ONLY | 0x2000 | 輸入只是類型編碼;撰寫抽象宣告子。 |
| UNDNAME_HAVE_PARAMETERS | 0x4000 | 真實的範本參數可供使用。 |
| UNDNAME_NO_ECSU | 0x8000 | 隱藏 enum/class/struct/union。 |
| UNDNAME_NO_IDENT_CHAR_CHECK | 0x10000 | 隱藏有效識別碼字元的檢查。 |
| UNDNAME_NO_PTR64 | 0x20000 | 輸出中不包含 ptr64。 |