Commit 387b8427 authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

windowscodecs: Return proper error codes in unneeded BMP decoder methods.

parent 6caca236
...@@ -311,22 +311,22 @@ static HRESULT WINAPI BmpFrameDecode_CopyPixels(IWICBitmapFrameDecode *iface, ...@@ -311,22 +311,22 @@ static HRESULT WINAPI BmpFrameDecode_CopyPixels(IWICBitmapFrameDecode *iface,
static HRESULT WINAPI BmpFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode *iface, static HRESULT WINAPI BmpFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode *iface,
IWICMetadataQueryReader **ppIMetadataQueryReader) IWICMetadataQueryReader **ppIMetadataQueryReader)
{ {
FIXME("(%p,%p): stub\n", iface, ppIMetadataQueryReader); TRACE("(%p,%p)\n", iface, ppIMetadataQueryReader);
return E_NOTIMPL; return WINCODEC_ERR_UNSUPPORTEDOPERATION;
} }
static HRESULT WINAPI BmpFrameDecode_GetColorContexts(IWICBitmapFrameDecode *iface, static HRESULT WINAPI BmpFrameDecode_GetColorContexts(IWICBitmapFrameDecode *iface,
UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount) UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount)
{ {
FIXME("(%p,%u,%p,%p): stub\n", iface, cCount, ppIColorContexts, pcActualCount); TRACE("(%p,%u,%p,%p)\n", iface, cCount, ppIColorContexts, pcActualCount);
return E_NOTIMPL; return WINCODEC_ERR_UNSUPPORTEDOPERATION;
} }
static HRESULT WINAPI BmpFrameDecode_GetThumbnail(IWICBitmapFrameDecode *iface, static HRESULT WINAPI BmpFrameDecode_GetThumbnail(IWICBitmapFrameDecode *iface,
IWICBitmapSource **ppIThumbnail) IWICBitmapSource **ppIThumbnail)
{ {
FIXME("(%p,%p): stub\n", iface, ppIThumbnail); TRACE("(%p,%p)\n", iface, ppIThumbnail);
return E_NOTIMPL; return WINCODEC_ERR_CODECNOTHUMBNAIL;
} }
static HRESULT BmpFrameDecode_ReadUncompressed(BmpFrameDecode* This) static HRESULT BmpFrameDecode_ReadUncompressed(BmpFrameDecode* This)
...@@ -637,29 +637,29 @@ static HRESULT WINAPI BmpDecoder_CopyPalette(IWICBitmapDecoder *iface, ...@@ -637,29 +637,29 @@ static HRESULT WINAPI BmpDecoder_CopyPalette(IWICBitmapDecoder *iface,
static HRESULT WINAPI BmpDecoder_GetMetadataQueryReader(IWICBitmapDecoder *iface, static HRESULT WINAPI BmpDecoder_GetMetadataQueryReader(IWICBitmapDecoder *iface,
IWICMetadataQueryReader **ppIMetadataQueryReader) IWICMetadataQueryReader **ppIMetadataQueryReader)
{ {
FIXME("(%p,%p): stub\n", iface, ppIMetadataQueryReader); TRACE("(%p,%p)\n", iface, ppIMetadataQueryReader);
return E_NOTIMPL; return WINCODEC_ERR_UNSUPPORTEDOPERATION;
} }
static HRESULT WINAPI BmpDecoder_GetPreview(IWICBitmapDecoder *iface, static HRESULT WINAPI BmpDecoder_GetPreview(IWICBitmapDecoder *iface,
IWICBitmapSource **ppIBitmapSource) IWICBitmapSource **ppIBitmapSource)
{ {
FIXME("(%p,%p): stub\n", iface, ppIBitmapSource); TRACE("(%p,%p)\n", iface, ppIBitmapSource);
return E_NOTIMPL; return WINCODEC_ERR_UNSUPPORTEDOPERATION;
} }
static HRESULT WINAPI BmpDecoder_GetColorContexts(IWICBitmapDecoder *iface, static HRESULT WINAPI BmpDecoder_GetColorContexts(IWICBitmapDecoder *iface,
UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount) UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount)
{ {
FIXME("(%p,%u,%p,%p): stub\n", iface, cCount, ppIColorContexts, pcActualCount); TRACE("(%p,%u,%p,%p)\n", iface, cCount, ppIColorContexts, pcActualCount);
return E_NOTIMPL; return WINCODEC_ERR_UNSUPPORTEDOPERATION;
} }
static HRESULT WINAPI BmpDecoder_GetThumbnail(IWICBitmapDecoder *iface, static HRESULT WINAPI BmpDecoder_GetThumbnail(IWICBitmapDecoder *iface,
IWICBitmapSource **ppIThumbnail) IWICBitmapSource **ppIThumbnail)
{ {
FIXME("(%p,%p): stub\n", iface, ppIThumbnail); TRACE("(%p,%p)\n", iface, ppIThumbnail);
return E_NOTIMPL; return WINCODEC_ERR_CODECNOTHUMBNAIL;
} }
static HRESULT WINAPI BmpDecoder_GetFrameCount(IWICBitmapDecoder *iface, static HRESULT WINAPI BmpDecoder_GetFrameCount(IWICBitmapDecoder *iface,
......
...@@ -49,6 +49,9 @@ static void test_decode_24bpp(void) ...@@ -49,6 +49,9 @@ static void test_decode_24bpp(void)
{ {
IWICBitmapDecoder *decoder, *decoder2; IWICBitmapDecoder *decoder, *decoder2;
IWICBitmapFrameDecode *framedecode; IWICBitmapFrameDecode *framedecode;
IWICMetadataQueryReader *queryreader;
IWICColorContext *colorcontext;
IWICBitmapSource *thumbnail;
HRESULT hr; HRESULT hr;
HGLOBAL hbmpdata; HGLOBAL hbmpdata;
char *bmpdata; char *bmpdata;
...@@ -88,6 +91,18 @@ static void test_decode_24bpp(void) ...@@ -88,6 +91,18 @@ static void test_decode_24bpp(void)
ok(SUCCEEDED(hr), "GetContainerFormat failed, hr=%x\n", hr); ok(SUCCEEDED(hr), "GetContainerFormat failed, hr=%x\n", hr);
ok(IsEqualGUID(&guidresult, &GUID_ContainerFormatBmp), "unexpected container format\n"); ok(IsEqualGUID(&guidresult, &GUID_ContainerFormatBmp), "unexpected container format\n");
hr = IWICBitmapDecoder_GetMetadataQueryReader(decoder, &queryreader);
ok(hr == WINCODEC_ERR_UNSUPPORTEDOPERATION, "expected WINCODEC_ERR_UNSUPPORTEDOPERATION, got %x\n", hr);
hr = IWICBitmapDecoder_GetColorContexts(decoder, 1, &colorcontext, &count);
ok(hr == WINCODEC_ERR_UNSUPPORTEDOPERATION, "expected WINCODEC_ERR_UNSUPPORTEDOPERATION, got %x\n", hr);
hr = IWICBitmapDecoder_GetThumbnail(decoder, &thumbnail);
ok(hr == WINCODEC_ERR_CODECNOTHUMBNAIL, "expected WINCODEC_ERR_CODECNOTHUMBNAIL, got %x\n", hr);
hr = IWICBitmapDecoder_GetPreview(decoder, &thumbnail);
ok(hr == WINCODEC_ERR_UNSUPPORTEDOPERATION, "expected WINCODEC_ERR_UNSUPPORTEDOPERATION, got %x\n", hr);
hr = IWICBitmapDecoder_GetFrameCount(decoder, &count); hr = IWICBitmapDecoder_GetFrameCount(decoder, &count);
ok(SUCCEEDED(hr), "GetFrameCount failed, hr=%x\n", hr); ok(SUCCEEDED(hr), "GetFrameCount failed, hr=%x\n", hr);
ok(count == 1, "unexpected count %u\n", count); ok(count == 1, "unexpected count %u\n", count);
...@@ -116,6 +131,15 @@ static void test_decode_24bpp(void) ...@@ -116,6 +131,15 @@ static void test_decode_24bpp(void)
ok(SUCCEEDED(hr), "GetPixelFormat failed, hr=%x\n", hr); ok(SUCCEEDED(hr), "GetPixelFormat failed, hr=%x\n", hr);
ok(IsEqualGUID(&guidresult, &GUID_WICPixelFormat24bppBGR), "unexpected pixel format\n"); ok(IsEqualGUID(&guidresult, &GUID_WICPixelFormat24bppBGR), "unexpected pixel format\n");
hr = IWICBitmapFrameDecode_GetMetadataQueryReader(framedecode, &queryreader);
ok(hr == WINCODEC_ERR_UNSUPPORTEDOPERATION, "expected WINCODEC_ERR_UNSUPPORTEDOPERATION, got %x\n", hr);
hr = IWICBitmapFrameDecode_GetColorContexts(framedecode, 1, &colorcontext, &count);
ok(hr == WINCODEC_ERR_UNSUPPORTEDOPERATION, "expected WINCODEC_ERR_UNSUPPORTEDOPERATION, got %x\n", hr);
hr = IWICBitmapFrameDecode_GetThumbnail(framedecode, &thumbnail);
ok(hr == WINCODEC_ERR_CODECNOTHUMBNAIL, "expected WINCODEC_ERR_CODECNOTHUMBNAIL, got %x\n", hr);
hr = CoCreateInstance(&CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER,
&IID_IWICImagingFactory, (void**)&factory); &IID_IWICImagingFactory, (void**)&factory);
ok(SUCCEEDED(hr), "CoCreateInstance failed, hr=%x\n", hr); ok(SUCCEEDED(hr), "CoCreateInstance failed, hr=%x\n", hr);
......
...@@ -96,6 +96,7 @@ typedef UINT32 WICColor; ...@@ -96,6 +96,7 @@ typedef UINT32 WICColor;
cpp_quote("#define WINCODEC_ERR_WRONGSTATE 0x88982f04") cpp_quote("#define WINCODEC_ERR_WRONGSTATE 0x88982f04")
cpp_quote("#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44") cpp_quote("#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44")
cpp_quote("#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45") cpp_quote("#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45")
cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81")
interface IWICBitmap; interface IWICBitmap;
interface IWICComponentInfo; interface IWICComponentInfo;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment