Коды ошибок из библиотек tspcli.dll и ocspcli.dll

BOOL GetErrorMessage( HRESULT hr, LPTSTR szBuf, DWORD chBufLen, DWORD dwLangId) { DWORD dwFacility = HRESULT_FACILITY(hr); HMODULE hInst = 0; switch (dwFacility) { case FACILITY_TSPCLI: { hInst = ::GetModuleHandle(TEXT("tspcli.dll")); } break; case FACILITY_OCSPCLI: { hInst = ::GetModuleHandle(TEXT("ocspcli.dll")); } break; } BOOL dwRet = FALSE; DWORD dwFlagsMod = FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_HMODULE; if (hInst) { dwRet = FormatMessage(dwFlagsMod, hInst, hr, dwLangId, szBuf, chBufLen, NULL); // Если не нашли сообщение в конкретно заданном языке, // спросим в языке 0 (будет поиск по разным системным языкам) if (!dwRet && dwLangId) dwRet = FormatMessage(dwFlagsMod, hInst, hr, 0, szBuf, chBufLen, NULL); } DWORD dwFlagsSys = FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM; if (!dwRet) { dwRet = FormatMessage(dwFlagsSys, 0, hr, dwLangId, szBuf, chBufLen, NULL); // Если не нашли сообщение в конкретно заданном языке, // спросим в языке 0 (будет поиск по разным системным языкам) if (!dwRet && dwLangId) dwRet = FormatMessage(dwFlagsSys, 0, hr, 0, szBuf, chBufLen, NULL); } return dwRet ? TRUE : FALSE; }

Hosted by uCoz