RE: ShLwApi translation problem

"Alec Bergamini" <[email protected]> Wed, 15 Jun 2005 08:11:02 -0700
Newsgroups gmane.comp.lang.delphi.jedi
Message-ID <[email protected]>
Marcel,

>> Does this make a difference?

Yes, all the difference in the world. I never would have caught the
subtle difference in the REFIID and the CLSID.

If you are going to make fixes to the posted shlwapi.pas file here's a
summary of some needed changes. This is not a complete review of
shlwapi.h/pas, just the parts I needed.

CLSID_QueryAssociations: TGUID = (D1: $c46ca590; D2: $3c3f; D3: $11d2;
D4: ($be, $e6, $00, $00, $f8, $05, $ca, $57));

Should be 

CLSID_QueryAssociations: TGUID = (D1:$a07034fd; D2:$6caa; D3:$4954;
D4:($ac, $3f, $97, $a2, $72, $16, $f9, $8a));

also

IQueryAssociation should be IQueryAssociations and its GetEnum member
function need to have the last parameter (ppvOut) changed to be an out.

Thanks very much for your help on this. It turns out that having a
reference to IQueryAssociations is very useful writing efficient Shell
code that needs to make lots of shell query calls. While it's possible
to get query the same information with higher level calls like
AssocQueryString, these calls are not as efficient because they
internally create and destroy the query object with each call. With
AssocCreate I can create the IQueryAssociations once for all my queries.
(At least, this is Microsoft's recommendation :-) 


Regards,
Alec Bergamini





 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Delphi-JEDI/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/