Я вызываю методы на интерфейсах WMI / WBEM, которые возвращают HRESULTS. Я хочу отображать значимые сообщения об ошибках для этих кодов ошибок для пользователя. Однако, когда я просматриваю сообщение об ошибке HRESULT, я получаю только такие строки, как «IDispatch error # 3598».
Можно ли найти список этих кодов ошибок IDispatch, объясняющих их значение?
Пример кода, в котором могут возникать ошибки:
IWbemLocator *pLocator = NULL;
IWbemServices *pNamespace = NULL;
hr = CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID *) &pLocator);
if (FAILED(hr))
return hr;
hr = pLocator->ConnectServer(wPath, NULL, NULL, NULL, 0, NULL, NULL, &pNamespace);
if(FAILED(hr))
return hr;
Ошибка поиска:
CString sMessage = _com_error(nError).ErrorMessage();
// sMessage now contains a string like "IDispatch error #3598"
Примечание: Это не помогает - оно не содержит полученных мной ЛЮДЕЙ. Они также не содержатся в winerror.h.