Re: Wrong IID_IExtractIcon
the thing is that YOU don't decide which of the 2 versions get called. The application that tries to use the IShellFolder does.
You need to provide both a ansi and unicode version of the IExtractIcon (or live with the fact that your code will only work when someone requests one of them).
Re: Wrong IID_IExtractIcon
the application is the windows explorer in windows 7, does it ask for IID_IExtractIconA? Example of IExtractIcon implementations I can find just do
Code:
if(riid == IID_IExtractIcon){
...
}