I've had to implement my own File Load/Save dialogue to permit traversing a
custom namespace. I'm in the process of "finishing" on it now (fixing tool
buttons and such) but want to make sure everything is being handled as it
should be. This has brought forth several issues/unknowns:
1. In my browser class, the shell is attempting to query for Desktop's
IUnknown and then an unknown SID/IID of
{8455F0C1-158F-11D0-89AE-00A0C90A90AC}.
2. The documentation for IServiceProvider::QueryService now states an
HRESULT of SVC_E_UNKNOWNSERVICE should be returned but this isn't defined
anywhere. In fact, although it's mentioned in the PSDK help a couple of
places, a full MSDN search turned up no hits. Neither did a Google (except
for a couple of messages where others were asking the same question -- no
replies).
3. The shell calls IOleCommandTarget::Exec with CGID_Explorer and the CMDIDs
of 0x3c(60) and 0x27(39). I've seen mentions of SBCMDID_ definitions but
there aren't any in the PSDK update I downloaded last week. I did manage to
locate an ancient cabview sample which contained 6 SBCMDID declarations in
it's shlobj.h file. These were SBCMDID_ENABLESHOWTREE, _SHOWCONTROL,
_CANCELNAVIGATION, _MAYSAVECHANGES, _SETHLINKFRAME and _ENABLESTOP. Must be,
of course, a minimum of 55 more... This same file had a few FCW_ constants
but FCW_TOOLBAND was not one of them.
So I'm still looking. Pity you can't get Google to search for "SBCMDID_*"
(or does anyone know how to feed it a RegEx?)
TIA
Ciao,
Dee