I'm experiencing a very odd crash occuring deep within the SHELL32 code
during a call to IContextMenu::GetCommandString. I'm calling it during
handling of ICommDlgBrowser::OnStateChange for CDBOSC_SELCHANGE. The
IContextMenu is for the Desktop folder with My Computer selected and the
call is GetCommandString("delete", GCS_HELPTEXT, 0, szHelp,
_countof(szHelp)). Tracing into the call shows that lstrcmpiW is called with
("Manage", "delete"); then ("find", "delete"); then ("Manage", 0xffffffff)
[boom!].

I've tried ANSI, UNICODE and MSLU builds with identical results. Don't
really want to simply wrap this stuff in exception handlers without knowing
why the blasted thing is crashing. Near as I can tell, everything looks fine
otherwise. I have no memory leak or overwrite diagnostics (running the RTL
with checking at every allocation right now).

So, does anyone have a clue as to what might be going on or, for that
matter, anything else to look for. I'm sure it's something I've done stupid
somewhere, but I just can't seem to find it.

Thanks!

Ciao,
Dee



Reply via email to