this'a göre, HRESULT hata kodunu Win32 hata koduna dönüştürmenin bir yolu yoktur. Bu nedenle (en azından benim anlayışıma), sırayla FormatMessage kullanımım hata iletileri (yaniBir HRESULT'ı sisteme özgü bir hata mesajına nasıl dönüştürebilirim (bir yolu var)?
std::wstring Exception::GetWideMessage() const
{
using std::tr1::shared_ptr;
shared_ptr<void> buff;
LPWSTR buffPtr;
DWORD bufferLength = FormatMessageW(
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetErrorCode(),
0,
reinterpret_cast<LPWSTR>(&buffPtr),
0,
NULL);
buff.reset(buffPtr, LocalFreeHelper());
return std::wstring(buffPtr, bufferLength);
}
) HRESULTs için çalışmaz üretmek için.
HRESULT'lar için bu tür sisteme özgü hata dizelerini nasıl oluştururum?
* Her zaman * COM sunucu kaynağını izin IErrorInfo kullanmak hata mesajı. Sadece desteklemiyorsa geri dönüş. _com_error sınıfı yardımcı olabilir. –