Menu

#44 ISOLATION_AWARE_ENABLED for COM development

open-later
nobody
Headers (19)
5
2015-11-28
2011-03-12
No

When building a COM component with its own window containing common controls and supporting Visual Style feature of Windows XP, we usually add a manifest file requesting the ver 6.0 of comctl32 *and* compile the source with a macro ISOLATION_AWARE_ENABLED set to 1. However, the macro is not supported in the current MinGW/MinGW-w64, and the technique doesn't work at all. We need to write our own activation context management codes (that is usually too complicated to do correctly IMHO) or just give up supporting Visual Style feature.

It is desired to support ISOLATION_AWARE_ENABLED in w32api header files in a same way as in Microsoft SDK.

See http://msdn.microsoft.com/en-us/library/aa376607\(VS.85).aspx for a discussion on Activation Context management and the ISOLATION_AWARE_ENABLED macro.

Discussion

  • Kai Tietz

    Kai Tietz - 2011-03-12
    • status: open --> open-later
     
  • Kai Tietz

    Kai Tietz - 2011-03-12

    Hi,

    this seemse to be something interesting. The page http://msdn.microsoft.com/en-us/library/aa376607%28v=vs.85%29.aspx and the referenced blog there are interesting.
    It seems to be that by defining ISOLATION_AWARE_ENABLED to one some API gets locally overriden by inline-functions (this point might get a bit tricky, as this feature is a C++ one) which actually read information from the manifest-resource with ID 3 (user-application only).
    If we would get more details about what API needs overriding and the actual behavior of the searching we might be able to do here something.

    Regards,
    Kai

     
  • Pietro Gagliardi (andlabs)

    Isolation awareness is also required for using Common Controls v6 from another DLL (instead of an EXE). If you merely provide a manifest (in the manner documented on MSDN), Windows will give you comctl32.dll version 6 and you can call its functions successfully, but windows created by that DLL will not be themed.

     

Log in to post a comment.