gpt4 book ai didi

c++ - Windows ErrorMessage 返回代码而不是消息

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:01 24 4
gpt4 key购买 nike

我有一些代码调用 _com_object 的 ErroerMessage() 函数以在 try、catch 中返回错误代码。

catch(const _com_error& error)
{
myError = _T("Failed, Reason:")+error.ErrorMessage();
}

我没有得到实际的 windows 字符串来解释错误,而是得到了返回的错误代码。在本例中为 0xC00E001E

我包含了 mqoa.dll 以允许访问 MSMQ 的 windows dll

我使用断点并逐步执行,发现返回的 wCode 始终为 0。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

_T("Failed, Reason:") 是指向 TCHAR 的常量指针。 ErrorMessage()还返回指向 TCHAR 的常量指针。 + 运算符最终执行指针运算而不是连接字符串。

如果myError 是一个CString,你可以使用它的+=运算符(operator):

myError = _T("Failed, Reason: ");
myError += error.ErrorMessage();

或其Format()方法:

myError.Format(_T("Failed, Reason: %s"), error.ErrorMessage());

关于c++ - Windows ErrorMessage 返回代码而不是消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19513167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com