Possible bug in shell?

P

Pierre

Hi everyone,

I'm developing a context menu shell extension. It is working properly in all
previous versions of Windows. But Windows Vista (RTM) has a strange problem.
If I declare my extension like

class MyMenuExt : public IContextMenu3, public IShellExtInit
{
....
}

everything runs smoothly, but in case

class MyMenuExt : public IShellExtInit, public IContextMenu3
{
....
}

where IShellExtInit is declared first, shell32.dll raises an access
violation exception after calling the Initialize method 8 times with garbage
arguments. I'm pretty sure that my reference counting code (which is
boiler-plate) and other parts of my class are error-free. After debugging
several hours with WinDbg I could not figure out why Vista behaves this way.
As I said, prior versions run the code without a glitch in both cases. I
would appreciate if someone could give a reasonable answer.

Can
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top