74 40 + 2*4 + 16 * 16 + 16 * 4,
96 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
97 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
98 0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
99 0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
100 0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
101 0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,
102 0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,
103 0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,
104 0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,
105 0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,
106 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,
107 0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,
108 0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,
109 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
110 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
111 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
134#define test_ico_data(a, b, c) test_ico_data_(a, b, c, 0, __LINE__)
135#define test_ico_data_todo(a, b, c) test_ico_data_(a, b, c, 1, __LINE__)
145 &IID_IWICImagingFactory, (
void**)&
factory);
146 ok(
hr ==
S_OK,
"CoCreateInstance failed, hr=%x\n",
hr);
149 hr = IWICImagingFactory_CreateStream(
factory, &icostream);
150 ok(
hr ==
S_OK,
"CreateStream failed, hr=%x\n",
hr);
153 hr = IWICStream_InitializeFromMemory(icostream,
data, data_size);
154 ok(
hr ==
S_OK,
"InitializeFromMemory failed, hr=%x\n",
hr);
159 &IID_IWICBitmapDecoder, (
void**)&decoder);
160 ok(
hr ==
S_OK,
"CoCreateInstance failed, hr=%x\n",
hr);
165 hr = IWICBitmapDecoder_Initialize(decoder, (
IStream*)icostream,
168 ok_(__FILE__,
line)(
hr == init_hr,
"Initialize failed, hr=%x\n",
hr);
172 hr = IWICBitmapDecoder_GetFrame(decoder, 0, &framedecode);
173 ok(
hr ==
S_OK,
"GetFrame failed, hr=%x\n",
hr);
182 hr = IWICBitmapFrameDecode_GetSize(framedecode, &
width, &
height);
183 ok(
hr ==
S_OK,
"GetFrameSize failed, hr=%x\n",
hr);
186 hr = IWICBitmapFrameDecode_GetThumbnail(framedecode, &thumbnail);
187 ok(
hr ==
S_OK,
"GetThumbnail failed, hr=%x\n",
hr);
192 ok(
hr ==
S_OK,
"GetFrameSize failed, hr=%x\n",
hr);
194 IWICBitmapSource_Release(thumbnail);
196 IWICBitmapFrameDecode_Release(framedecode);
199 IWICBitmapDecoder_Release(decoder);
202 IWICStream_Release(icostream);
205 IWICImagingFactory_Release(
factory);
220 ico.
direntry.dwDIBOffset =
sizeof(ico);
224 ico.
direntry.dwDIBSize =
sizeof(ico);
229 ico.
header.idReserved = 1;
231 ico.
header.idReserved = 0;
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
#define todo_wine_if(is_todo)
@ COINIT_APARTMENTTHREADED
struct ICONDIRENTRY direntry
@ WICDecodeMetadataCacheOnDemand
#define WINCODEC_ERR_BADIMAGE
#define WINCODEC_ERR_STREAMREAD