Hi,

I've extended my IShellFolder interface viewer to kind of explorer app. It works not too bad with standard explorer stuff,
but I get into problems if internet explorer is included into shell's namspace. If this IShellFolder object is clicked it queries a service/interface I have no information about and, what's worse, it ignores the error code returned from my IShellBrowser object and so causes the app to crash.

the guid of the unknown object is:

0D7D1D00-6FC0-11D0-A974-00C04FD705A2

Help about that topic would be very appreciated.

Japheth
Posted on 2003-03-01 17:26:09 by japheth
MIght go without saying, but have you looked at this page or this page or this page?

Or perhaps this link, which has a link to a microsoft Q/A topic "Q157247 - PRB: IShellFolder::CreateViewObject() Causes Access Violation"?

This link has a brief tutorial and some C++ code/example of using this interface.

There is alot of stuff in this directory as well.

Hope it helps..
:alright:
NaN
Posted on 2003-03-01 21:50:28 by NaN
This WINE bug report page has an exact match to the IID you have given. It appears the IID is for "SHLWAPI.StrRetToStrW" found in "SHLWAPI.DLL". I dont have Quicken on my machine, but i do have this DLL in my system directory. I have a feeling this will help you alot.

Here it the bug page to look at yourself..

Best of luck.
:alright:
NaN
Posted on 2003-03-01 22:01:21 by NaN
Thanks NaN for your replies,

this WINE stuff I had found myself but I simply dont understand about what it is talking about.

The Q157247 - PRB was one of the first problems I run into and has been solved.

Seems the problem doesnt occur in windows XP. So it is possibly a quick and dirty, undocumented hack in windows 98 SE

Heres a log of the error



ExplorerASM:IUnknown::QueryInterface({B722BCCB-4E68-101B-A2BC-00AA00404770}[IOleCommandTarget])=0
ExplorerASM:CShellBrowser::Exec({000214D0-0000-0000-C000-000000000046}, 27, 0)
ExplorerASM:IShellBrowser::GetViewStateStream
ExplorerASM:IShellBrowser::GetControlWindow(1)
ExplorerASM:will call IShellFolder::CreateViewObject
ExplorerASM:will call IShellView::CreateViewWindow
ExplorerASM:IUnknown::QueryInterface({B722BCCB-4E68-101B-A2BC-00AA00404770}[IOleCommandTarget])=0
ExplorerASM:IUnknown::QueryInterface({6D5140C1-7436-11CE-8034-00AA006009FA}[IServiceProvider])=0
ExplorerASM:CShellBrowser::QueryService({79EAC9C5-BAF9-11CE-8C82-00AA004BA90B}, {79EAC9C5-BAF9-11CE-8C82-00AA004BA90B})
ExplorerASM:IUnknown::QueryInterface({B722BCCB-4E68-101B-A2BC-00AA00404770}[IOleCommandTarget])=0
ExplorerASM:CShellBrowser::Exec({000214D4-0000-0000-C000-000000000046}, 0, 0)
ExplorerASM:IUnknown::QueryInterface({02BA3B52-0547-11D1-B833-00C04FC9B31F}[])=80004002
ExplorerASM:IUnknown::QueryInterface({B722BCCB-4E68-101B-A2BC-00AA00404770}[IOleCommandTarget])=0
ExplorerASM:IUnknown::QueryInterface({6D5140C1-7436-11CE-8034-00AA006009FA}[IServiceProvider])=0
ExplorerASM:IUnknown::QueryInterface({00000115-0000-0000-C000-000000000046}[IOleInPlaceUIWindow])=0
ExplorerASM:CShellBrowser::QueryService({4C96BE40-915C-11CF-99D3-00AA004AE837}, {DFEED31E-78ED-11D2-86BA-00C04F8EEA99})
ExplorerASM:CShellBrowser::QueryService({0D7D1D00-6FC0-11D0-A974-00C04FD705A2}, {0D7D1D00-6FC0-11D0-A974-00C04FD705A2})
Nicht abgefangene Ausnahme in ExplASM.exe (SHDOCVW.DLL): 0xC0000005: Access Violation.
Das Programm "D:\ASM\SRC32\CVViewer\ExplASM\Debug\ExplASM.exe" wurde mit Code -1 (0xFFFFFFFF) beendet.


That is: my app calls IShellFolder::CreateViewWindow, and is called back from inside that call
I am able to stop in debugger at the last QueryService and see that the crash occurs immediately after function returns,
but I have no chance to avoid that because I have no clue what this GUID means.

Very annoying.
Posted on 2003-03-02 06:16:07 by japheth