IImgCtx fails to draw after installing IE9 beta - by S. Golovin

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


ID 611317 Comments
Status Closed Workarounds
Type Bug Repros 2
Opened 10/6/2010 11:38:53 PM
Access Restriction Public

Description

Hello,

I have already asked in forums, and they directed me here. So, here is the problem:

We are using IImgCtx component in our applications to load and draw pictures from various sources. I know it is not documented well and probably not the recommended thing to use, but still - IImgCtx.h header is included with SDK ..

After installing IE9 beta, the ImgCtx component suddenly stopped working..

It looks like it loads pictures fine, reports the completed state and correct size of loaded picture, but when calling IImgCtx::Draw() it suddenly returns E_NOINTERFACE (0x80004002), which is quite suprising. What interface and why is it missing?

Anyway, could anyone please shed some light on whether it is going to be fixed with IE9 release, or this component won't be supported at all from now on, or will there be some change in the interface or in the way it is used.

Thank you.

Bye,
Sergey.
Sign in to post a comment.
Posted by Olivier Marcoux on 5/7/2011 at 8:28 AM
IImgCtx::Draw now works, but IImgCtx::StretchBlt doesn't.
Posted by Microsoft on 3/7/2011 at 5:35 PM
Thank you for your feedback.

This issue was resolved in Internet Explorer 9 RC and the Platform Preview Build released on 2/10/2011. Please verify the change and file a new feedback (or reactivate the existing one) if the problem persists.

Best regards,

The Internet Explorer Team
Posted by Microsoft on 1/10/2011 at 11:02 AM
Thank you for your feedback.

We were able to reproduce the issue and are investigating it.

Best regards,

The Internet Explorer Team
Posted by Olivier Marcoux on 11/14/2010 at 9:18 AM
If I'm correct, IImgCtx came with IE4, and IE4 (or more recent) was included on all Windows systems since W95 OSR 2.5.
This means that even though IImgCtx is not documented officially, this was a quite universal & easy solution for a lot of programmers to display JPEG, PNG, GIF, BMP, WMF.. on any Windows systems, without the need to include a decoder for all these types.
Several popular programming sites did describe its use, so you may expect to break a certain number of programs if you stop supporting IImgCtx.
I perfectly understand you have no obligation to continue support for this class, but as Sergey asked, please try to look at this issue, the effort to keep the class working as before might not be so hard.
Posted by Mike Dimmick on 10/12/2010 at 3:06 AM
If it's not in MSDN Library it is not intended for you to use it, even if the header is included in the SDK.

It's quite possible that the definition has been changed so that instead of taking an HWND, it takes a Direct2D or Direct3D interface pointer, and it's trying to query for some other interface - probably ID2D1RenderTarget. I'm amazed it doesn't crash.
Posted by S. Golovin on 10/11/2010 at 11:38 AM
Could someone please at least confirm that this issue has been at least looked at?