[python-win32] killing overlay extensions

Tim Golden mail at timgolden.me.uk
Tue Jul 8 10:24:04 CEST 2008


Mark Hammond wrote:
>  
>> The debugging trace suggests that IsMemberOf  are called after
>> GetOverlayInfo, which itself is called when Explorer starts up.
> 
> That is correct - GetOverlayInfo is called just once per process IIUC.
> Having this function fail should prevent your IsMemberOf being called - but
> once it has been successfully called, you are in the same position you are
> now.

Sorry. Both of you are quite right, of course. I'd forgotten that 
each overlay handler only handles one icon overlay.


I must say, the design of this particular extension from the Windows
point of view makes for relatively inefficient handlers. Every overlay 
handler is called for every icon, and it's up to each handler to return 
"No" as fast as it can if it's not interested. Would be useful if you could
establish a handler on a per-filetype basis (with the usual fallback of
the * to handle all types). Although that obviously wouldn't help on
things like svn/hg which have to stat around a bit and look at their 
context to establish applicability.


Tk Soh - do you find, even if the IsMemberOf does nothing
but return its "No" value, that Explorer still slows down?

TJG



More information about the python-win32 mailing list