Files
core/ASCImageStudio3/AVSImageRaw3/trunk/libraw/ImageRawErrorDescription.cpp

97 lines
3.8 KiB
C++

/*!
* \file ImageRawErrorDescription.cpp
* \brief Ñòðîêîâûå îïèñàíèÿ îøèáîê êîìïîíåíòû AVSImageRaw
* è ôóíêöèÿ èõ ïîëó÷åíèÿ ïî êîäàì îøèáîê
*
* \author Nikolay.Pogorskiy@avsmedia.net
*/
#include "stdafx.h"
#include "comutil.h"
#include "ImageRawErrorDescription.h"
/*
* Ñòðîêîâîå îïèñàíèå îøèáîê
*
* Ïåðåìåííóþ cî ñòðîêîâûì îïèñàíèåì ìîæíî ïîëó÷èòü ñ èñïîëüçîâàíèåì ìàêðîñà E_IMAGERAW_DESC(ErrorCode)
*/
#define __L(S) OLESTR(S)
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_UNEXPECTED_ERROR) = __L("Unexpected error");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_OPENFILE_ERROR) = __L("Open file error");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_DCRAWINTERNALEXCEPTION_ERROR) = __L("Dcraw internal exception");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_UNSUPPORTERDFORMAT_ERROR) = __L("Unsupported file format");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_DECODE_ERROR) = __L("Cannot decode file");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_NOTHUMBNAIL_ERROR) = __L("Image has no thumbnail");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_UNSUPPORTEDTHUMBFORMAT_ERROR) = __L("Unsupported thumb format");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_READING_NEFCURVE_ERROR) = __L("Error reading NEF curve");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_NOCAMWB_ERROR) = __L("Cannot use camera white balance");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_DCRAW_OUTOFMEMORY_ERROR) = __L("Internal memory operation error");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_FILE_NOT_OPENED_ERROR) = __L("File not opened");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_LOAD_THUMBNAIL_ERROR) = __L("Cannot load thumbnail");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_DECODE_THUMBNAIL_ERROR) = __L("Cannot decode thumbnail image");
ERRORDESC_STR_ E_IMAGERAW_DESC(IMAGERAW_MEMORY_ERROR) = __L("Memory manipulation error");
HRESULT GetStringErrorDesc(LONG lErrorCode,BSTR * bsErrorDesc)
{
if (!bsErrorDesc)
return E_POINTER;
switch(lErrorCode)
{
case IMAGERAW_UNEXPECTED_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_UNEXPECTED_ERROR)).copy(); break;
case IMAGERAW_OPENFILE_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_OPENFILE_ERROR)).copy(); break;
case IMAGERAW_DCRAWINTERNALEXCEPTION_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_DCRAWINTERNALEXCEPTION_ERROR)).copy(); break;
case IMAGERAW_UNSUPPORTERDFORMAT_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_UNSUPPORTERDFORMAT_ERROR)).copy(); break;
case IMAGERAW_DECODE_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_DECODE_ERROR)).copy(); break;
case IMAGERAW_NOTHUMBNAIL_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_NOTHUMBNAIL_ERROR)).copy(); break;
case IMAGERAW_UNSUPPORTEDTHUMBFORMAT_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_UNSUPPORTEDTHUMBFORMAT_ERROR)).copy(); break;
case IMAGERAW_READING_NEFCURVE_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_READING_NEFCURVE_ERROR)).copy(); break;
case IMAGERAW_NOCAMWB_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_NOCAMWB_ERROR)).copy(); break;
case IMAGERAW_DCRAW_OUTOFMEMORY_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_DCRAW_OUTOFMEMORY_ERROR)).copy(); break;
case IMAGERAW_FILE_NOT_OPENED_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_FILE_NOT_OPENED_ERROR)).copy(); break;
case IMAGERAW_LOAD_THUMBNAIL_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_LOAD_THUMBNAIL_ERROR)).copy(); break;
case IMAGERAW_DECODE_THUMBNAIL_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_DECODE_THUMBNAIL_ERROR)).copy(); break;
case IMAGERAW_MEMORY_ERROR:
*bsErrorDesc = _bstr_t(E_IMAGERAW_DESC(IMAGERAW_MEMORY_ERROR)).copy(); break;
default:
*bsErrorDesc = NULL;
return E_INVALIDARG;
};
return S_OK;
}
#undef __L