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

49 lines
2.1 KiB
C

/*! \file ImageRawErrorDescription.h
* \brief Êîäû îøèáîê êîìïîíåíòû AVSImageRaw, ôóíêöèÿ ïîëó÷åíèÿ ñòðîêîâîãî îïèñàíèÿ îøèáêè ïî êîäó
*
* \author Nikolay.Pogorskiy@avsmedia.net
*/
#pragma once
#include <windows.h>
#define ERRORDESC_STR LPCOLESTR
#define ERRORDESC_STR_ ERRORDESC_STR
#define E_IMAGERAW_BASE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0300)
#define E_IMAGERAW(ErrorCode) (E_IMAGERAW_BASE + ErrorCode)
#define E_IMAGERAW_DESC(ErrorCode) c_str_##ErrorCode
#define IMAGERAW_UNEXPECTED_ERROR 1 //!< Íåèçâåñòàíÿ îøèáêà
#define IMAGERAW_OPENFILE_ERROR 2 //!< Îøèáêà îòêðûòèÿ ôàéëà
#define IMAGERAW_DCRAWINTERNALEXCEPTION_ERROR 3 //!< Âíóòðåííåå èñêëþ÷åíèÿ êëàññà DCRaw
#define IMAGERAW_UNSUPPORTERDFORMAT_ERROR 4 //!< Íåïîääåðæèâàåìûé ôîðìàò ôàéëà
#define IMAGERAW_DECODE_ERROR 5 //!< Îøèáêà äåêîäèðîâàíèÿ ôàéëà
#define IMAGERAW_NOTHUMBNAIL_ERROR 6 //!< Èçîáðàæåíèå íå ñîäåðæèò êàðòèíêè äëÿ ïðåäïðîñìîòðà
#define IMAGERAW_UNSUPPORTEDTHUMBFORMAT_ERROR 7 //!< Êàðòèíêà äëÿ ïðåäïðîñìîòðà íåïîääåðæèâàåìîãî ôîðìàòà
#define IMAGERAW_READING_NEFCURVE_ERROR 8 //!< Error reading NEF curve
#define IMAGERAW_NOCAMWB_ERROR 9 //!< Cannot use camera white balance
#define IMAGERAW_DCRAW_OUTOFMEMORY_ERROR 10 //!< Out of memory
#define IMAGERAW_FILE_NOT_OPENED_ERROR 11 //!< File not opened
#define IMAGERAW_LOAD_THUMBNAIL_ERROR 12 //!< Cannot load thumbnail
#define IMAGERAW_DECODE_THUMBNAIL_ERROR 13 //!< Cannot decode thumbnail image
#define IMAGERAW_MEMORY_ERROR 14 //!< Memory manipulation error
/*!
* \brief Ïîëó÷èòü ñòðîêîâîå îïèñàíèå îøèáêè
*
* \param[in] lErrorCode Êîä îøèáêè
* \param[out] bsErrorDesc Ñòðîêà BSTR ñî ñòðîêîâûì îïèñàíèåì îøèáêè,
* êëèåíò ïîñëå èñïîëüçîâàíèÿ äîëæåí îñâîáîäèòü ïàìÿòü
* âûçîâîì \a SysFreeString()
*
* \return HRESULT, ìîæåò âîçâðàùàòü S_OK â ñëó÷àå óñïåõà; E_POINTER, êîãäà \a bsErrorDesc == NULL èëè E_INVALIDARG,
* â ñëó÷àå íåèçâåñòíîãî êîäà îøèáêè
*/
HRESULT GetStringErrorDesc(LONG lErrorCode,BSTR * bsErrorDesc);