CommCtrl.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:320k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #define MAKEIPRANGE(low, high)    ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low)))
  2. // And this is a useful macro for making the IP Address to be passed
  3. // as a LPARAM.
  4. #define MAKEIPADDRESS(b1,b2,b3,b4)  ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
  5. // Get individual number
  6. #define FIRST_IPADDRESS(x)  ((x>>24) & 0xff)
  7. #define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
  8. #define THIRD_IPADDRESS(x)  ((x>>8) & 0xff)
  9. #define FOURTH_IPADDRESS(x) (x & 0xff)
  10. #endif // NOIPADDRESS
  11. //---------------------------------------------------------------------------------------
  12. //---------------------------------------------------------------------------------------
  13. ///  ====================== Pager Control =============================
  14. //---------------------------------------------------------------------------------------
  15. //---------------------------------------------------------------------------------------
  16. #ifndef NOPAGESCROLLER
  17. //Pager Class Name
  18. #define WC_PAGESCROLLERW           L"SysPager"
  19. #define WC_PAGESCROLLERA           "SysPager"
  20. #ifdef UNICODE
  21. #define WC_PAGESCROLLER          WC_PAGESCROLLERW
  22. #else
  23. #define WC_PAGESCROLLER          WC_PAGESCROLLERA
  24. #endif
  25. //---------------------------------------------------------------------------------------
  26. // Pager Control Styles
  27. //---------------------------------------------------------------------------------------
  28. // begin_r_commctrl
  29. #define PGS_VERT                0x00000000
  30. #define PGS_HORZ                0x00000001
  31. #define PGS_AUTOSCROLL          0x00000002
  32. #define PGS_DRAGNDROP           0x00000004
  33. // end_r_commctrl
  34. //---------------------------------------------------------------------------------------
  35. // Pager Button State
  36. //---------------------------------------------------------------------------------------
  37. //The scroll can be in one of the following control State
  38. #define  PGF_INVISIBLE   0      // Scroll button is not visible
  39. #define  PGF_NORMAL      1      // Scroll button is in normal state
  40. #define  PGF_GRAYED      2      // Scroll button is in grayed state
  41. #define  PGF_DEPRESSED   4      // Scroll button is in depressed state
  42. #define  PGF_HOT         8      // Scroll button is in hot state
  43. // The following identifiers specifies the button control
  44. #define PGB_TOPORLEFT       0
  45. #define PGB_BOTTOMORRIGHT   1
  46. //---------------------------------------------------------------------------------------
  47. // Pager Control  Messages
  48. //---------------------------------------------------------------------------------------
  49. #define PGM_SETCHILD            (PGM_FIRST + 1)  // lParam == hwnd
  50. #define Pager_SetChild(hwnd, hwndChild) 
  51.         (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild))
  52. #define PGM_RECALCSIZE          (PGM_FIRST + 2)
  53. #define Pager_RecalcSize(hwnd) 
  54.         (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0)
  55. #define PGM_FORWARDMOUSE        (PGM_FIRST + 3)
  56. #define Pager_ForwardMouse(hwnd, bForward) 
  57.         (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0)
  58. #define PGM_SETBKCOLOR          (PGM_FIRST + 4)
  59. #define Pager_SetBkColor(hwnd, clr) 
  60.         (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)(clr))
  61. #define PGM_GETBKCOLOR          (PGM_FIRST + 5)
  62. #define Pager_GetBkColor(hwnd) 
  63.         (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0)
  64. #define PGM_SETBORDER          (PGM_FIRST + 6)
  65. #define Pager_SetBorder(hwnd, iBorder) 
  66.         (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)(iBorder))
  67. #define PGM_GETBORDER          (PGM_FIRST + 7)
  68. #define Pager_GetBorder(hwnd) 
  69.         (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0)
  70. #define PGM_SETPOS              (PGM_FIRST + 8)
  71. #define Pager_SetPos(hwnd, iPos) 
  72.         (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)(iPos))
  73. #define PGM_GETPOS              (PGM_FIRST + 9)
  74. #define Pager_GetPos(hwnd) 
  75.         (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0)
  76. #define PGM_SETBUTTONSIZE       (PGM_FIRST + 10)
  77. #define Pager_SetButtonSize(hwnd, iSize) 
  78.         (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)(iSize))
  79. #define PGM_GETBUTTONSIZE       (PGM_FIRST + 11)
  80. #define Pager_GetButtonSize(hwnd) 
  81.         (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0)
  82. #define PGM_GETBUTTONSTATE      (PGM_FIRST + 12)
  83. #define Pager_GetButtonState(hwnd, iButton) 
  84.         (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton))
  85. #define PGM_GETDROPTARGET       CCM_GETDROPTARGET
  86. #define Pager_GetDropTarget(hwnd, ppdt) 
  87.         (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt))
  88. //---------------------------------------------------------------------------------------
  89. //Pager Control Notification Messages
  90. //---------------------------------------------------------------------------------------
  91. // PGN_SCROLL Notification Message
  92. #define PGN_SCROLL          (PGN_FIRST-1)
  93. #define PGF_SCROLLUP        1
  94. #define PGF_SCROLLDOWN      2
  95. #define PGF_SCROLLLEFT      4
  96. #define PGF_SCROLLRIGHT     8
  97. //Keys down
  98. #define PGK_SHIFT           1
  99. #define PGK_CONTROL         2
  100. #define PGK_MENU            4
  101. #ifdef _WIN32
  102. #include <pshpack1.h>
  103. #endif
  104. // This structure is sent along with PGN_SCROLL notifications
  105. typedef struct {
  106.     NMHDR hdr;
  107.     WORD fwKeys;            // Specifies which keys are down when this notification is send
  108.     RECT rcParent;          // Contains Parent Window Rect
  109.     int  iDir;              // Scrolling Direction
  110.     int  iXpos;             // Horizontal scroll position
  111.     int  iYpos;             // Vertical scroll position
  112.     int  iScroll;           // [in/out] Amount to scroll
  113. }NMPGSCROLL, *LPNMPGSCROLL;
  114. #ifdef _WIN32
  115. #include <poppack.h>
  116. #endif
  117. // PGN_CALCSIZE Notification Message
  118. #define PGN_CALCSIZE        (PGN_FIRST-2)
  119. #define PGF_CALCWIDTH       1
  120. #define PGF_CALCHEIGHT      2
  121. typedef struct {
  122.     NMHDR   hdr;
  123.     DWORD   dwFlag;
  124.     int     iWidth;
  125.     int     iHeight;
  126. }NMPGCALCSIZE, *LPNMPGCALCSIZE;
  127. // PGN_HOTITEMCHANGE Notification Message
  128. #define PGN_HOTITEMCHANGE   (PGN_FIRST-3)
  129. /* 
  130. The PGN_HOTITEMCHANGE notification uses these notification
  131. flags defined in TOOLBAR:
  132. #define HICF_ENTERING       0x00000010          // idOld is invalid
  133. #define HICF_LEAVING        0x00000020          // idNew is invalid
  134. */
  135. // Structure for PGN_HOTITEMCHANGE notification
  136. //
  137. typedef struct tagNMPGHOTITEM
  138. {
  139.     NMHDR   hdr;
  140.     int     idOld;
  141.     int     idNew;
  142.     DWORD   dwFlags;           // HICF_*
  143. } NMPGHOTITEM, * LPNMPGHOTITEM;
  144. #endif // NOPAGESCROLLER
  145. ////======================  End Pager Control ==========================================
  146. //
  147. // === Native Font Control ===
  148. //
  149. #ifndef NONATIVEFONTCTL
  150. //NativeFont Class Name
  151. #define WC_NATIVEFONTCTLW           L"NativeFontCtl"
  152. #define WC_NATIVEFONTCTLA           "NativeFontCtl"
  153. #ifdef UNICODE
  154. #define WC_NATIVEFONTCTL          WC_NATIVEFONTCTLW
  155. #else
  156. #define WC_NATIVEFONTCTL          WC_NATIVEFONTCTLA
  157. #endif
  158. // begin_r_commctrl
  159. // style definition
  160. #define NFS_EDIT                0x0001
  161. #define NFS_STATIC              0x0002
  162. #define NFS_LISTCOMBO           0x0004
  163. #define NFS_BUTTON              0x0008
  164. #define NFS_ALL                 0x0010
  165. #define NFS_USEFONTASSOC        0x0020
  166. // end_r_commctrl
  167. #endif // NONATIVEFONTCTL
  168. // === End Native Font Control ===
  169. /// ====================== Button Control =============================
  170. #ifndef NOBUTTON
  171. #ifdef _WIN32
  172. // Button Class Name
  173. #define WC_BUTTONA              "Button"
  174. #define WC_BUTTONW              L"Button"
  175. #ifdef UNICODE
  176. #define WC_BUTTON               WC_BUTTONW
  177. #else
  178. #define WC_BUTTON               WC_BUTTONA
  179. #endif
  180. #else
  181. #define WC_BUTTON               "Button"
  182. #endif
  183. #if (_WIN32_WINNT >= 0x501)
  184. #define BUTTON_IMAGELIST_ALIGN_LEFT     0
  185. #define BUTTON_IMAGELIST_ALIGN_RIGHT    1
  186. #define BUTTON_IMAGELIST_ALIGN_TOP      2
  187. #define BUTTON_IMAGELIST_ALIGN_BOTTOM   3
  188. #define BUTTON_IMAGELIST_ALIGN_CENTER   4       // Doesn't draw text
  189. typedef struct
  190. {
  191.     HIMAGELIST  himl;   // Index: Normal, hot pushed, disabled. If count is less than 4, we use index 1
  192.     RECT        margin; // Margin around icon.
  193.     UINT        uAlign;
  194. } BUTTON_IMAGELIST, *PBUTTON_IMAGELIST;
  195. #define BCM_GETIDEALSIZE        (BCM_FIRST + 0x0001)
  196. #define Button_GetIdealSize(hwnd, psize)
  197.     (BOOL)SNDMSG((hwnd), BCM_GETIDEALSIZE, 0, (LPARAM)(psize))
  198. #define BCM_SETIMAGELIST        (BCM_FIRST + 0x0002)
  199. #define Button_SetImageList(hwnd, pbuttonImagelist)
  200.     (BOOL)SNDMSG((hwnd), BCM_SETIMAGELIST, 0, (LPARAM)(pbuttonImagelist))
  201. #define BCM_GETIMAGELIST        (BCM_FIRST + 0x0003)
  202. #define Button_GetImageList(hwnd, pbuttonImagelist)
  203.     (BOOL)SNDMSG((hwnd), BCM_GETIMAGELIST, 0, (LPARAM)(pbuttonImagelist))
  204. #define BCM_SETTEXTMARGIN       (BCM_FIRST + 0x0004)
  205. #define Button_SetTextMargin(hwnd, pmargin)
  206.     (BOOL)SNDMSG((hwnd), BCM_SETTEXTMARGIN, 0, (LPARAM)(pmargin))
  207. #define BCM_GETTEXTMARGIN       (BCM_FIRST + 0x0005)
  208. #define Button_GetTextMargin(hwnd, pmargin)
  209.     (BOOL)SNDMSG((hwnd), BCM_GETTEXTMARGIN, 0, (LPARAM)(pmargin))
  210. typedef struct tagNMBCHOTITEM
  211. {
  212.     NMHDR   hdr;
  213.     DWORD   dwFlags;           // HICF_*
  214. } NMBCHOTITEM, * LPNMBCHOTITEM;
  215. #define BCN_HOTITEMCHANGE       (BCN_FIRST + 0x0001)
  216. #define BST_HOT            0x0200
  217. #endif
  218. #endif // NOBUTTON
  219. /// =====================  End Button Control =========================
  220. /// ====================== Static Control =============================
  221. #ifndef NOSTATIC
  222. #ifdef _WIN32
  223. // Static Class Name
  224. #define WC_STATICA              "Static"
  225. #define WC_STATICW              L"Static"
  226. #ifdef UNICODE
  227. #define WC_STATIC               WC_STATICW
  228. #else
  229. #define WC_STATIC               WC_STATICA
  230. #endif
  231. #else
  232. #define WC_STATIC               "Static"
  233. #endif
  234. #endif // NOSTATIC
  235. /// =====================  End Static Control =========================
  236. /// ====================== Edit Control =============================
  237. #ifndef NOEDIT
  238. #ifdef _WIN32
  239. // Edit Class Name
  240. #define WC_EDITA                "Edit"
  241. #define WC_EDITW                L"Edit"
  242. #ifdef UNICODE
  243. #define WC_EDIT                 WC_EDITW
  244. #else
  245. #define WC_EDIT                 WC_EDITA
  246. #endif
  247. #else
  248. #define WC_EDIT                 "Edit"
  249. #endif
  250. #if (_WIN32_WINNT >= 0x501)
  251. #define EM_SETCUEBANNER     (ECM_FIRST + 1) // Set the cue banner with the lParm = LPCWSTR
  252. #define Edit_SetCueBannerText(hwnd, lpcwText) 
  253.         (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText))
  254. #define EM_GETCUEBANNER     (ECM_FIRST + 2) // Set the cue banner with the lParm = LPCWSTR
  255. #define Edit_GetCueBannerText(hwnd, lpwText, cchText) 
  256.         (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchText))
  257. typedef struct _tagEDITBALLOONTIP
  258. {
  259.     DWORD   cbStruct;
  260.     LPCWSTR pszTitle;
  261.     LPCWSTR pszText;
  262.     INT     ttiIcon; // From TTI_*
  263. } EDITBALLOONTIP, *PEDITBALLOONTIP;
  264. #define EM_SHOWBALLOONTIP   (ECM_FIRST + 3) // Show a balloon tip associated to the edit control
  265. #define Edit_ShowBalloonTip(hwnd, peditballoontip) 
  266.         (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip))
  267. #define EM_HIDEBALLOONTIP   (ECM_FIRST + 4)     // Hide any balloon tip associated with the edit control
  268. #define Edit_HideBalloonTip(hwnd) 
  269.         (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0)
  270. #endif
  271. #endif // NOEDIT
  272. /// =====================  End Edit Control =========================
  273. /// ====================== Listbox Control =============================
  274. #ifndef NOLISTBOX
  275. #ifdef _WIN32
  276. // Listbox Class Name
  277. #define WC_LISTBOXA             "ListBox"
  278. #define WC_LISTBOXW             L"ListBox"
  279. #ifdef UNICODE
  280. #define WC_LISTBOX              WC_LISTBOXW
  281. #else
  282. #define WC_LISTBOX              WC_LISTBOXA
  283. #endif
  284. #else
  285. #define WC_LISTBOX              "ListBox"
  286. #endif
  287. #endif // NOLISTBOX
  288. /// =====================  End Listbox Control =========================
  289. /// ====================== Combobox Control =============================
  290. #ifndef NOCOMBOBOX
  291. #ifdef _WIN32
  292. // Combobox Class Name
  293. #define WC_COMBOBOXA            "ComboBox"
  294. #define WC_COMBOBOXW            L"ComboBox"
  295. #ifdef UNICODE
  296. #define WC_COMBOBOX             WC_COMBOBOXW
  297. #else
  298. #define WC_COMBOBOX             WC_COMBOBOXA
  299. #endif
  300. #else
  301. #define WC_COMBOBOX             "ComboBox"
  302. #endif
  303. #endif // NOCOMBOBOX
  304. #if (_WIN32_WINNT >= 0x501)
  305. // custom combobox control messages
  306. #define CB_SETMINVISIBLE        (CBM_FIRST + 1)
  307. #define CB_GETMINVISIBLE        (CBM_FIRST + 2)
  308. #define ComboBox_SetMinVisible(hwnd, iMinVisible) 
  309.             (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0)
  310. #define ComboBox_GetMinVisible(hwnd) 
  311.             (int)SNDMSG((hwnd), CB_GETMINVISIBLE, 0, 0)
  312. #endif
  313. /// =====================  End Combobox Control =========================
  314. /// ====================== Scrollbar Control ============================
  315. #ifndef NOSCROLLBAR
  316. #ifdef _WIN32
  317. // Scrollbar Class Name
  318. #define WC_SCROLLBARA            "ScrollBar"
  319. #define WC_SCROLLBARW            L"ScrollBar"
  320. #ifdef UNICODE
  321. #define WC_SCROLLBAR             WC_SCROLLBARW
  322. #else
  323. #define WC_SCROLLBAR             WC_SCROLLBARA
  324. #endif
  325. #else
  326. #define WC_SCROLLBAR             "ScrollBar"
  327. #endif
  328. #endif // NOSCROLLBAR
  329. /// ===================== End Scrollbar Control =========================
  330. //====== SysLink control =========================================
  331. #ifdef _WIN32
  332. #if (_WIN32_WINNT >= 0x501)
  333. #define INVALID_LINK_INDEX  (-1)
  334. #define MAX_LINKID_TEXT     48
  335. #define L_MAX_URL_LENGTH    (2048 + 32 + sizeof("://"))
  336. #define WC_LINK         L"SysLink"
  337. #define LWS_TRANSPARENT    0x0001
  338. #define LWS_IGNORERETURN   0x0002
  339. #define LIF_ITEMINDEX    0x00000001
  340. #define LIF_STATE        0x00000002
  341. #define LIF_ITEMID       0x00000004
  342. #define LIF_URL          0x00000008
  343. #define LIS_FOCUSED      0x00000001
  344. #define LIS_ENABLED      0x00000002
  345. #define LIS_VISITED      0x00000004
  346. typedef struct tagLITEM
  347. {
  348.     UINT        mask ;
  349.     int         iLink ;
  350.     UINT        state ;
  351.     UINT        stateMask ;
  352.     WCHAR       szID[MAX_LINKID_TEXT] ;
  353.     WCHAR       szUrl[L_MAX_URL_LENGTH] ;
  354. } LITEM, * PLITEM ;
  355. typedef struct tagLHITTESTINFO
  356. {
  357.     POINT       pt ;
  358.     LITEM     item ;
  359. } LHITTESTINFO, *PLHITTESTINFO ;
  360. typedef struct tagNMLINK
  361. {
  362.     NMHDR       hdr;
  363.     LITEM     item ;
  364. } NMLINK,  *PNMLINK;
  365. //  SysLink notifications
  366. //  NM_CLICK   // wParam: control ID, lParam: PNMLINK, ret: ignored.   
  367. //  LinkWindow messages
  368. #define LM_HITTEST         (WM_USER+0x300)  // wParam: n/a, lparam: PLHITTESTINFO, ret: BOOL
  369. #define LM_GETIDEALHEIGHT  (WM_USER+0x301)  // wParam: n/a, lparam: n/a, ret: cy
  370. #define LM_SETITEM         (WM_USER+0x302)  // wParam: n/a, lparam: LITEM*, ret: BOOL
  371. #define LM_GETITEM         (WM_USER+0x303)  // wParam: n/a, lparam: LITEM*, ret: BOOL
  372. #endif
  373. #endif // _WIN32
  374. //====== End SysLink control =========================================
  375. //
  376. // === MUI APIs ===
  377. //
  378. #ifndef NOMUI
  379. void WINAPI InitMUILanguage(LANGID uiLang);
  380. LANGID WINAPI GetMUILanguage(void);
  381. #endif  // NOMUI
  382. #endif      // _WIN32_IE >= 0x0400
  383. #ifdef _WIN32
  384. //====== TrackMouseEvent  =====================================================
  385. #ifndef NOTRACKMOUSEEVENT
  386. //
  387. // If the messages for TrackMouseEvent have not been defined then define them
  388. // now.
  389. //
  390. #ifndef WM_MOUSEHOVER
  391. #define WM_MOUSEHOVER                   0x02A1
  392. #define WM_MOUSELEAVE                   0x02A3
  393. #endif
  394. //
  395. // If the TRACKMOUSEEVENT structure and associated flags havent been declared
  396. // then declare them now.
  397. //
  398. #ifndef TME_HOVER
  399. #define TME_HOVER       0x00000001
  400. #define TME_LEAVE       0x00000002
  401. #if (WINVER >= 0x0500)
  402. #define TME_NONCLIENT   0x00000010
  403. #endif /* WINVER >= 0x0500 */
  404. #define TME_QUERY       0x40000000
  405. #define TME_CANCEL      0x80000000
  406. #define HOVER_DEFAULT   0xFFFFFFFF
  407. typedef struct tagTRACKMOUSEEVENT {
  408.     DWORD cbSize;
  409.     DWORD dwFlags;
  410.     HWND  hwndTrack;
  411.     DWORD dwHoverTime;
  412. } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
  413. #endif // !TME_HOVER
  414. //
  415. // Declare _TrackMouseEvent.  This API tries to use the window manager's
  416. // implementation of TrackMouseEvent if it is present, otherwise it emulates.
  417. //
  418. WINCOMMCTRLAPI
  419. BOOL
  420. WINAPI
  421. _TrackMouseEvent(
  422.     LPTRACKMOUSEEVENT lpEventTrack);
  423. #endif // !NOTRACKMOUSEEVENT
  424. #if (_WIN32_IE >= 0x0400)
  425. //====== Flat Scrollbar APIs=========================================
  426. #ifndef NOFLATSBAPIS
  427. #define WSB_PROP_CYVSCROLL  0x00000001L
  428. #define WSB_PROP_CXHSCROLL  0x00000002L
  429. #define WSB_PROP_CYHSCROLL  0x00000004L
  430. #define WSB_PROP_CXVSCROLL  0x00000008L
  431. #define WSB_PROP_CXHTHUMB   0x00000010L
  432. #define WSB_PROP_CYVTHUMB   0x00000020L
  433. #define WSB_PROP_VBKGCOLOR  0x00000040L
  434. #define WSB_PROP_HBKGCOLOR  0x00000080L
  435. #define WSB_PROP_VSTYLE     0x00000100L
  436. #define WSB_PROP_HSTYLE     0x00000200L
  437. #define WSB_PROP_WINSTYLE   0x00000400L
  438. #define WSB_PROP_PALETTE    0x00000800L
  439. #define WSB_PROP_MASK       0x00000FFFL
  440. #define FSB_FLAT_MODE           2
  441. #define FSB_ENCARTA_MODE        1
  442. #define FSB_REGULAR_MODE        0
  443. WINCOMMCTRLAPI BOOL WINAPI FlatSB_EnableScrollBar(HWND, int, UINT);
  444. WINCOMMCTRLAPI BOOL WINAPI FlatSB_ShowScrollBar(HWND, int code, BOOL);
  445. WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollRange(HWND, int code, LPINT, LPINT);
  446. WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollInfo(HWND, int code, LPSCROLLINFO);
  447. WINCOMMCTRLAPI int WINAPI FlatSB_GetScrollPos(HWND, int code);
  448. WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollProp(HWND, int propIndex, LPINT);
  449. #ifdef _WIN64
  450. WINCOMMCTRLAPI BOOL WINAPI FlatSB_GetScrollPropPtr(HWND, int propIndex, PINT_PTR);
  451. #else
  452. #define FlatSB_GetScrollPropPtr  FlatSB_GetScrollProp
  453. #endif
  454. WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollPos(HWND, int code, int pos, BOOL fRedraw);
  455. WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollInfo(HWND, int code, LPSCROLLINFO, BOOL fRedraw);
  456. WINCOMMCTRLAPI int WINAPI FlatSB_SetScrollRange(HWND, int code, int min, int max, BOOL fRedraw);
  457. WINCOMMCTRLAPI BOOL WINAPI FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newValue, BOOL);
  458. #define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
  459. WINCOMMCTRLAPI BOOL WINAPI InitializeFlatSB(HWND);
  460. WINCOMMCTRLAPI HRESULT WINAPI UninitializeFlatSB(HWND);
  461. #endif  //  NOFLATSBAPIS
  462. #endif      // _WIN32_IE >= 0x0400
  463. #endif /* _WIN32 */
  464. #endif      // _WIN32_IE >= 0x0300
  465. #if (_WIN32_WINNT >= 0x501)
  466. //
  467. // subclassing stuff
  468. //
  469. typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam,
  470.     LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData);
  471. BOOL WINAPI SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass,
  472.     DWORD_PTR dwRefData);
  473. BOOL WINAPI GetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass,
  474.     DWORD_PTR *pdwRefData);
  475. BOOL WINAPI RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass,
  476.     UINT_PTR uIdSubclass);
  477. LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  478. #endif
  479. #if (_WIN32_WINNT >= 0x501)
  480. int WINAPI DrawShadowText(HDC hdc, LPCWSTR pszText, UINT cch, RECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow,
  481.     int ixOffset, int iyOffset);
  482. #endif
  483. #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
  484. #if ISOLATION_AWARE_ENABLED
  485. #if !defined(ISOLATION_AWARE_INLINE)
  486. #if defined(__cplusplus)
  487. #define ISOLATION_AWARE_INLINE inline
  488. #else
  489. #define ISOLATION_AWARE_INLINE __inline
  490. #endif
  491. #endif
  492. FARPROC WINAPI CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL(LPCSTR pszProcName);
  493. void WINAPI IsolationAwareInitCommonControls(void);
  494. BOOL WINAPI IsolationAwareInitCommonControlsEx(LPINITCOMMONCONTROLSEX unnamed1);
  495. HIMAGELIST WINAPI IsolationAwareImageList_Create(int cx,int cy,UINT flags,int cInitial,int cGrow);
  496. BOOL WINAPI IsolationAwareImageList_Destroy(HIMAGELIST himl);
  497. int WINAPI IsolationAwareImageList_GetImageCount(HIMAGELIST himl);
  498. BOOL WINAPI IsolationAwareImageList_SetImageCount(HIMAGELIST himl,UINT uNewCount);
  499. int WINAPI IsolationAwareImageList_Add(HIMAGELIST himl,HBITMAP hbmImage,HBITMAP hbmMask);
  500. int WINAPI IsolationAwareImageList_ReplaceIcon(HIMAGELIST himl,int i,HICON hicon);
  501. COLORREF WINAPI IsolationAwareImageList_SetBkColor(HIMAGELIST himl,COLORREF clrBk);
  502. COLORREF WINAPI IsolationAwareImageList_GetBkColor(HIMAGELIST himl);
  503. BOOL WINAPI IsolationAwareImageList_SetOverlayImage(HIMAGELIST himl,int iImage,int iOverlay);
  504. BOOL WINAPI IsolationAwareImageList_Draw(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,UINT fStyle);
  505. BOOL WINAPI IsolationAwareImageList_Replace(HIMAGELIST himl,int i,HBITMAP hbmImage,HBITMAP hbmMask);
  506. int WINAPI IsolationAwareImageList_AddMasked(HIMAGELIST himl,HBITMAP hbmImage,COLORREF crMask);
  507. BOOL WINAPI IsolationAwareImageList_DrawEx(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,int dx,int dy,COLORREF rgbBk,COLORREF rgbFg,UINT fStyle);
  508. BOOL WINAPI IsolationAwareImageList_DrawIndirect(IMAGELISTDRAWPARAMS*pimldp);
  509. BOOL WINAPI IsolationAwareImageList_Remove(HIMAGELIST himl,int i);
  510. HICON WINAPI IsolationAwareImageList_GetIcon(HIMAGELIST himl,int i,UINT flags);
  511. HIMAGELIST WINAPI IsolationAwareImageList_LoadImageA(HINSTANCE hi,LPCSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
  512. HIMAGELIST WINAPI IsolationAwareImageList_LoadImageW(HINSTANCE hi,LPCWSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
  513. BOOL WINAPI IsolationAwareImageList_Copy(HIMAGELIST himlDst,int iDst,HIMAGELIST himlSrc,int iSrc,UINT uFlags);
  514. BOOL WINAPI IsolationAwareImageList_BeginDrag(HIMAGELIST himlTrack,int iTrack,int dxHotspot,int dyHotspot);
  515. void WINAPI IsolationAwareImageList_EndDrag(void);
  516. BOOL WINAPI IsolationAwareImageList_DragEnter(HWND hwndLock,int x,int y);
  517. BOOL WINAPI IsolationAwareImageList_DragLeave(HWND hwndLock);
  518. BOOL WINAPI IsolationAwareImageList_DragMove(int x,int y);
  519. BOOL WINAPI IsolationAwareImageList_SetDragCursorImage(HIMAGELIST himlDrag,int iDrag,int dxHotspot,int dyHotspot);
  520. BOOL WINAPI IsolationAwareImageList_DragShowNolock(BOOL fShow);
  521. HIMAGELIST WINAPI IsolationAwareImageList_GetDragImage(POINT*ppt,POINT*pptHotspot);
  522. #if defined(__IStream_INTERFACE_DEFINED__)
  523. HIMAGELIST WINAPI IsolationAwareImageList_Read(LPSTREAM pstm);
  524. BOOL WINAPI IsolationAwareImageList_Write(HIMAGELIST himl,LPSTREAM pstm);
  525. #if defined(__IStream_INTERFACE_DEFINED__) &&  (_WIN32_WINNT >= 0x0501)
  526. HRESULT WINAPI IsolationAwareImageList_ReadEx(DWORD dwFlags,LPSTREAM pstm,REFIID riid,PVOID*ppv);
  527. HRESULT WINAPI IsolationAwareImageList_WriteEx(HIMAGELIST himl,DWORD dwFlags,LPSTREAM pstm);
  528. #endif /* defined(__IStream_INTERFACE_DEFINED__) &&  (_WIN32_WINNT >= 0x0501) */
  529. #endif /* defined(__IStream_INTERFACE_DEFINED__) */
  530. BOOL WINAPI IsolationAwareImageList_GetIconSize(HIMAGELIST himl,int*cx,int*cy);
  531. BOOL WINAPI IsolationAwareImageList_SetIconSize(HIMAGELIST himl,int cx,int cy);
  532. BOOL WINAPI IsolationAwareImageList_GetImageInfo(HIMAGELIST himl,int i,IMAGEINFO*pImageInfo);
  533. HIMAGELIST WINAPI IsolationAwareImageList_Merge(HIMAGELIST himl1,int i1,HIMAGELIST himl2,int i2,int dx,int dy);
  534. HIMAGELIST WINAPI IsolationAwareImageList_Duplicate(HIMAGELIST himl);
  535. HWND WINAPI IsolationAwareCreateToolbarEx(HWND hwnd,DWORD ws,UINT wID,int nBitmaps,HINSTANCE hBMInst,UINT_PTR wBMID,LPCTBBUTTON lpButtons,int iNumButtons,int dxButton,int dyButton,int dxBitmap,int dyBitmap,UINT uStructSize);
  536. HBITMAP WINAPI IsolationAwareCreateMappedBitmap(HINSTANCE hInstance,INT_PTR idBitmap,UINT wFlags,LPCOLORMAP lpColorMap,int iNumMaps);
  537. void WINAPI IsolationAwareDrawStatusTextA(HDC hDC,LPRECT lprc,LPCSTR pszText,UINT uFlags);
  538. void WINAPI IsolationAwareDrawStatusTextW(HDC hDC,LPRECT lprc,LPCWSTR pszText,UINT uFlags);
  539. HWND WINAPI IsolationAwareCreateStatusWindowA(long style,LPCSTR lpszText,HWND hwndParent,UINT wID);
  540. HWND WINAPI IsolationAwareCreateStatusWindowW(long style,LPCWSTR lpszText,HWND hwndParent,UINT wID);
  541. void WINAPI IsolationAwareMenuHelp(UINT uMsg,WPARAM wParam,LPARAM lParam,HMENU hMainMenu,HINSTANCE hInst,HWND hwndStatus,UINT*lpwIDs);
  542. BOOL WINAPI IsolationAwareShowHideMenuCtl(HWND hWnd,UINT_PTR uFlags,LPINT lpInfo);
  543. void WINAPI IsolationAwareGetEffectiveClientRect(HWND hWnd,LPRECT lprc,LPINT lpInfo);
  544. BOOL WINAPI IsolationAwareMakeDragList(HWND hLB);
  545. void WINAPI IsolationAwareDrawInsert(HWND handParent,HWND hLB,int nItem);
  546. int WINAPI IsolationAwareLBItemFromPt(HWND hLB,POINT pt,BOOL bAutoScroll);
  547. HWND WINAPI IsolationAwareCreateUpDownControl(DWORD dwStyle,int x,int y,int cx,int cy,HWND hParent,int nID,HINSTANCE hInst,HWND hBuddy,int nUpper,int nLower,int nPos);
  548. void WINAPI IsolationAwareInitMUILanguage(LANGID uiLang);
  549. LANGID WINAPI IsolationAwareGetMUILanguage(void);
  550. #if !defined(NOTRACKMOUSEEVENT)
  551. BOOL WINAPI IsolationAware_TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);
  552. #endif /* !defined(NOTRACKMOUSEEVENT) */
  553. BOOL WINAPI IsolationAwareFlatSB_EnableScrollBar(HWND unnamed1,int unnamed2,UINT unnamed3);
  554. BOOL WINAPI IsolationAwareFlatSB_ShowScrollBar(HWND unnamed1,int code,BOOL unnamed2);
  555. BOOL WINAPI IsolationAwareFlatSB_GetScrollRange(HWND unnamed1,int code,LPINT unnamed2,LPINT unnamed3);
  556. BOOL WINAPI IsolationAwareFlatSB_GetScrollInfo(HWND unnamed1,int code,LPSCROLLINFO unnamed2);
  557. int WINAPI IsolationAwareFlatSB_GetScrollPos(HWND unnamed1,int code);
  558. BOOL WINAPI IsolationAwareFlatSB_GetScrollProp(HWND unnamed1,int propIndex,LPINT unnamed2);
  559. BOOL WINAPI IsolationAwareFlatSB_GetScrollPropPtr(HWND unnamed1,int propIndex,PINT_PTR unnamed2);
  560. int WINAPI IsolationAwareFlatSB_SetScrollPos(HWND unnamed1,int code,int pos,BOOL fRedraw);
  561. int WINAPI IsolationAwareFlatSB_SetScrollInfo(HWND unnamed1,int code,LPSCROLLINFO unnamed2,BOOL fRedraw);
  562. int WINAPI IsolationAwareFlatSB_SetScrollRange(HWND unnamed1,int code,int min,int max,BOOL fRedraw);
  563. BOOL WINAPI IsolationAwareFlatSB_SetScrollProp(HWND unnamed1,UINT index,INT_PTR newValue,BOOL unnamed2);
  564. BOOL WINAPI IsolationAwareInitializeFlatSB(HWND unnamed1);
  565. HRESULT WINAPI IsolationAwareUninitializeFlatSB(HWND unnamed1);
  566. #if (_WIN32_IE >= 0x560)
  567. BOOL WINAPI IsolationAwareSetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR dwRefData);
  568. BOOL WINAPI IsolationAwareGetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR*pdwRefData);
  569. BOOL WINAPI IsolationAwareRemoveWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass);
  570. #endif /* (_WIN32_IE >= 0x560) */
  571. LRESULT WINAPI IsolationAwareDefSubclassProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
  572. int WINAPI IsolationAwareDrawShadowText(HDC hdc,LPCWSTR pszText,UINT cch,RECT*prc,DWORD dwFlags,COLORREF crText,COLORREF crShadow,int ixOffset,int iyOffset);
  573. #if defined(UNICODE)
  574. #define IsolationAwareCreateStatusWindow IsolationAwareCreateStatusWindowW
  575. #define IsolationAwareDrawStatusText IsolationAwareDrawStatusTextW
  576. #define IsolationAwareImageList_LoadImage IsolationAwareImageList_LoadImageW
  577. #else /* UNICODE */
  578. #define IsolationAwareCreateStatusWindow IsolationAwareCreateStatusWindowA
  579. #define IsolationAwareDrawStatusText IsolationAwareDrawStatusTextA
  580. #define IsolationAwareImageList_LoadImage IsolationAwareImageList_LoadImageA
  581. #endif /* UNICODE */
  582. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareInitCommonControls(void)
  583. {
  584.     typedef void (WINAPI* PFN)(void);
  585.     static PFN s_pfn;
  586.     ULONG_PTR  ulpCookie = 0;
  587.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  588.     if (!fActivateActCtxSuccess)
  589.         return;
  590.     __try
  591.     {
  592.         if (s_pfn == NULL)
  593.         {
  594.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("InitCommonControls");
  595.             if (s_pfn == NULL)
  596.                 __leave;
  597.         }
  598.         s_pfn();
  599.     }
  600.     __finally
  601.     {
  602.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  603.         {
  604.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  605.         }
  606.     }
  607.     return;
  608. }
  609. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareInitCommonControlsEx(LPINITCOMMONCONTROLSEX unnamed1)
  610. {
  611.     BOOL fResult = FALSE;
  612.     typedef BOOL (WINAPI* PFN)(LPINITCOMMONCONTROLSEX unnamed1);
  613.     static PFN s_pfn;
  614.     ULONG_PTR  ulpCookie = 0;
  615.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  616.     if (!fActivateActCtxSuccess)
  617.         return fResult;
  618.     __try
  619.     {
  620.         if (s_pfn == NULL)
  621.         {
  622.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("InitCommonControlsEx");
  623.             if (s_pfn == NULL)
  624.                 __leave;
  625.         }
  626.         fResult = s_pfn(unnamed1);
  627.     }
  628.     __finally
  629.     {
  630.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  631.         {
  632.             const BOOL fPreserveLastError = (fResult == FALSE);
  633.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  634.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  635.             if (fPreserveLastError)
  636.                 SetLastError(dwLastError);
  637.         }
  638.     }
  639.     return fResult;
  640. }
  641. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_Create(int cx,int cy,UINT flags,int cInitial,int cGrow)
  642. {
  643.     HIMAGELIST imagelistResult = NULL;
  644.     typedef HIMAGELIST (WINAPI* PFN)(int cx,int cy,UINT flags,int cInitial,int cGrow);
  645.     static PFN s_pfn;
  646.     ULONG_PTR  ulpCookie = 0;
  647.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  648.     if (!fActivateActCtxSuccess)
  649.         return imagelistResult;
  650.     __try
  651.     {
  652.         if (s_pfn == NULL)
  653.         {
  654.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Create");
  655.             if (s_pfn == NULL)
  656.                 __leave;
  657.         }
  658.         imagelistResult = s_pfn(cx,cy,flags,cInitial,cGrow);
  659.     }
  660.     __finally
  661.     {
  662.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  663.         {
  664.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  665.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  666.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  667.             if (fPreserveLastError)
  668.                 SetLastError(dwLastError);
  669.         }
  670.     }
  671.     return imagelistResult;
  672. }
  673. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Destroy(HIMAGELIST himl)
  674. {
  675.     BOOL fResult = FALSE;
  676.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl);
  677.     static PFN s_pfn;
  678.     ULONG_PTR  ulpCookie = 0;
  679.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  680.     if (!fActivateActCtxSuccess)
  681.         return fResult;
  682.     __try
  683.     {
  684.         if (s_pfn == NULL)
  685.         {
  686.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Destroy");
  687.             if (s_pfn == NULL)
  688.                 __leave;
  689.         }
  690.         fResult = s_pfn(himl);
  691.     }
  692.     __finally
  693.     {
  694.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  695.         {
  696.             const BOOL fPreserveLastError = (fResult == FALSE);
  697.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  698.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  699.             if (fPreserveLastError)
  700.                 SetLastError(dwLastError);
  701.         }
  702.     }
  703.     return fResult;
  704. }
  705. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareImageList_GetImageCount(HIMAGELIST himl)
  706. {
  707.     int nResult = 0 ;
  708.     typedef int (WINAPI* PFN)(HIMAGELIST himl);
  709.     static PFN s_pfn;
  710.     ULONG_PTR  ulpCookie = 0;
  711.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  712.     if (!fActivateActCtxSuccess)
  713.         return nResult;
  714.     __try
  715.     {
  716.         if (s_pfn == NULL)
  717.         {
  718.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetImageCount");
  719.             if (s_pfn == NULL)
  720.                 __leave;
  721.         }
  722.         nResult = s_pfn(himl);
  723.     }
  724.     __finally
  725.     {
  726.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  727.         {
  728.             const BOOL fPreserveLastError = (nResult == 0 );
  729.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  730.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  731.             if (fPreserveLastError)
  732.                 SetLastError(dwLastError);
  733.         }
  734.     }
  735.     return nResult;
  736. }
  737. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_SetImageCount(HIMAGELIST himl,UINT uNewCount)
  738. {
  739.     BOOL fResult = FALSE;
  740.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,UINT uNewCount);
  741.     static PFN s_pfn;
  742.     ULONG_PTR  ulpCookie = 0;
  743.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  744.     if (!fActivateActCtxSuccess)
  745.         return fResult;
  746.     __try
  747.     {
  748.         if (s_pfn == NULL)
  749.         {
  750.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_SetImageCount");
  751.             if (s_pfn == NULL)
  752.                 __leave;
  753.         }
  754.         fResult = s_pfn(himl,uNewCount);
  755.     }
  756.     __finally
  757.     {
  758.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  759.         {
  760.             const BOOL fPreserveLastError = (fResult == FALSE);
  761.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  762.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  763.             if (fPreserveLastError)
  764.                 SetLastError(dwLastError);
  765.         }
  766.     }
  767.     return fResult;
  768. }
  769. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareImageList_Add(HIMAGELIST himl,HBITMAP hbmImage,HBITMAP hbmMask)
  770. {
  771.     int nResult = -1;
  772.     typedef int (WINAPI* PFN)(HIMAGELIST himl,HBITMAP hbmImage,HBITMAP hbmMask);
  773.     static PFN s_pfn;
  774.     ULONG_PTR  ulpCookie = 0;
  775.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  776.     if (!fActivateActCtxSuccess)
  777.         return nResult;
  778.     __try
  779.     {
  780.         if (s_pfn == NULL)
  781.         {
  782.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Add");
  783.             if (s_pfn == NULL)
  784.                 __leave;
  785.         }
  786.         nResult = s_pfn(himl,hbmImage,hbmMask);
  787.     }
  788.     __finally
  789.     {
  790.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  791.         {
  792.             const BOOL fPreserveLastError = (nResult == -1);
  793.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  794.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  795.             if (fPreserveLastError)
  796.                 SetLastError(dwLastError);
  797.         }
  798.     }
  799.     return nResult;
  800. }
  801. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareImageList_ReplaceIcon(HIMAGELIST himl,int i,HICON hicon)
  802. {
  803.     int nResult = -1;
  804.     typedef int (WINAPI* PFN)(HIMAGELIST himl,int i,HICON hicon);
  805.     static PFN s_pfn;
  806.     ULONG_PTR  ulpCookie = 0;
  807.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  808.     if (!fActivateActCtxSuccess)
  809.         return nResult;
  810.     __try
  811.     {
  812.         if (s_pfn == NULL)
  813.         {
  814.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_ReplaceIcon");
  815.             if (s_pfn == NULL)
  816.                 __leave;
  817.         }
  818.         nResult = s_pfn(himl,i,hicon);
  819.     }
  820.     __finally
  821.     {
  822.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  823.         {
  824.             const BOOL fPreserveLastError = (nResult == -1);
  825.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  826.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  827.             if (fPreserveLastError)
  828.                 SetLastError(dwLastError);
  829.         }
  830.     }
  831.     return nResult;
  832. }
  833. ISOLATION_AWARE_INLINE COLORREF WINAPI IsolationAwareImageList_SetBkColor(HIMAGELIST himl,COLORREF clrBk)
  834. {
  835.     COLORREF colorResult = RGB(0,0,0);
  836.     typedef COLORREF (WINAPI* PFN)(HIMAGELIST himl,COLORREF clrBk);
  837.     static PFN s_pfn;
  838.     ULONG_PTR  ulpCookie = 0;
  839.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  840.     if (!fActivateActCtxSuccess)
  841.         return colorResult;
  842.     __try
  843.     {
  844.         if (s_pfn == NULL)
  845.         {
  846.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_SetBkColor");
  847.             if (s_pfn == NULL)
  848.                 __leave;
  849.         }
  850.         colorResult = s_pfn(himl,clrBk);
  851.     }
  852.     __finally
  853.     {
  854.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  855.         {
  856.             const BOOL fPreserveLastError = (colorResult == RGB(0,0,0));
  857.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  858.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  859.             if (fPreserveLastError)
  860.                 SetLastError(dwLastError);
  861.         }
  862.     }
  863.     return colorResult;
  864. }
  865. ISOLATION_AWARE_INLINE COLORREF WINAPI IsolationAwareImageList_GetBkColor(HIMAGELIST himl)
  866. {
  867.     COLORREF colorResult = RGB(0,0,0);
  868.     typedef COLORREF (WINAPI* PFN)(HIMAGELIST himl);
  869.     static PFN s_pfn;
  870.     ULONG_PTR  ulpCookie = 0;
  871.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  872.     if (!fActivateActCtxSuccess)
  873.         return colorResult;
  874.     __try
  875.     {
  876.         if (s_pfn == NULL)
  877.         {
  878.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetBkColor");
  879.             if (s_pfn == NULL)
  880.                 __leave;
  881.         }
  882.         colorResult = s_pfn(himl);
  883.     }
  884.     __finally
  885.     {
  886.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  887.         {
  888.             const BOOL fPreserveLastError = (colorResult == RGB(0,0,0));
  889.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  890.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  891.             if (fPreserveLastError)
  892.                 SetLastError(dwLastError);
  893.         }
  894.     }
  895.     return colorResult;
  896. }
  897. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_SetOverlayImage(HIMAGELIST himl,int iImage,int iOverlay)
  898. {
  899.     BOOL fResult = FALSE;
  900.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int iImage,int iOverlay);
  901.     static PFN s_pfn;
  902.     ULONG_PTR  ulpCookie = 0;
  903.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  904.     if (!fActivateActCtxSuccess)
  905.         return fResult;
  906.     __try
  907.     {
  908.         if (s_pfn == NULL)
  909.         {
  910.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_SetOverlayImage");
  911.             if (s_pfn == NULL)
  912.                 __leave;
  913.         }
  914.         fResult = s_pfn(himl,iImage,iOverlay);
  915.     }
  916.     __finally
  917.     {
  918.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  919.         {
  920.             const BOOL fPreserveLastError = (fResult == FALSE);
  921.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  922.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  923.             if (fPreserveLastError)
  924.                 SetLastError(dwLastError);
  925.         }
  926.     }
  927.     return fResult;
  928. }
  929. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Draw(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,UINT fStyle)
  930. {
  931.     BOOL fResult = FALSE;
  932.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,UINT fStyle);
  933.     static PFN s_pfn;
  934.     ULONG_PTR  ulpCookie = 0;
  935.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  936.     if (!fActivateActCtxSuccess)
  937.         return fResult;
  938.     __try
  939.     {
  940.         if (s_pfn == NULL)
  941.         {
  942.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Draw");
  943.             if (s_pfn == NULL)
  944.                 __leave;
  945.         }
  946.         fResult = s_pfn(himl,i,hdcDst,x,y,fStyle);
  947.     }
  948.     __finally
  949.     {
  950.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  951.         {
  952.             const BOOL fPreserveLastError = (fResult == FALSE);
  953.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  954.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  955.             if (fPreserveLastError)
  956.                 SetLastError(dwLastError);
  957.         }
  958.     }
  959.     return fResult;
  960. }
  961. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Replace(HIMAGELIST himl,int i,HBITMAP hbmImage,HBITMAP hbmMask)
  962. {
  963.     BOOL fResult = FALSE;
  964.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int i,HBITMAP hbmImage,HBITMAP hbmMask);
  965.     static PFN s_pfn;
  966.     ULONG_PTR  ulpCookie = 0;
  967.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  968.     if (!fActivateActCtxSuccess)
  969.         return fResult;
  970.     __try
  971.     {
  972.         if (s_pfn == NULL)
  973.         {
  974.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Replace");
  975.             if (s_pfn == NULL)
  976.                 __leave;
  977.         }
  978.         fResult = s_pfn(himl,i,hbmImage,hbmMask);
  979.     }
  980.     __finally
  981.     {
  982.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  983.         {
  984.             const BOOL fPreserveLastError = (fResult == FALSE);
  985.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  986.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  987.             if (fPreserveLastError)
  988.                 SetLastError(dwLastError);
  989.         }
  990.     }
  991.     return fResult;
  992. }
  993. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareImageList_AddMasked(HIMAGELIST himl,HBITMAP hbmImage,COLORREF crMask)
  994. {
  995.     int nResult = -1;
  996.     typedef int (WINAPI* PFN)(HIMAGELIST himl,HBITMAP hbmImage,COLORREF crMask);
  997.     static PFN s_pfn;
  998.     ULONG_PTR  ulpCookie = 0;
  999.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1000.     if (!fActivateActCtxSuccess)
  1001.         return nResult;
  1002.     __try
  1003.     {
  1004.         if (s_pfn == NULL)
  1005.         {
  1006.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_AddMasked");
  1007.             if (s_pfn == NULL)
  1008.                 __leave;
  1009.         }
  1010.         nResult = s_pfn(himl,hbmImage,crMask);
  1011.     }
  1012.     __finally
  1013.     {
  1014.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1015.         {
  1016.             const BOOL fPreserveLastError = (nResult == -1);
  1017.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1018.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1019.             if (fPreserveLastError)
  1020.                 SetLastError(dwLastError);
  1021.         }
  1022.     }
  1023.     return nResult;
  1024. }
  1025. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DrawEx(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,int dx,int dy,COLORREF rgbBk,COLORREF rgbFg,UINT fStyle)
  1026. {
  1027.     BOOL fResult = FALSE;
  1028.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int i,HDC hdcDst,int x,int y,int dx,int dy,COLORREF rgbBk,COLORREF rgbFg,UINT fStyle);
  1029.     static PFN s_pfn;
  1030.     ULONG_PTR  ulpCookie = 0;
  1031.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1032.     if (!fActivateActCtxSuccess)
  1033.         return fResult;
  1034.     __try
  1035.     {
  1036.         if (s_pfn == NULL)
  1037.         {
  1038.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DrawEx");
  1039.             if (s_pfn == NULL)
  1040.                 __leave;
  1041.         }
  1042.         fResult = s_pfn(himl,i,hdcDst,x,y,dx,dy,rgbBk,rgbFg,fStyle);
  1043.     }
  1044.     __finally
  1045.     {
  1046.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1047.         {
  1048.             const BOOL fPreserveLastError = (fResult == FALSE);
  1049.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1050.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1051.             if (fPreserveLastError)
  1052.                 SetLastError(dwLastError);
  1053.         }
  1054.     }
  1055.     return fResult;
  1056. }
  1057. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DrawIndirect(IMAGELISTDRAWPARAMS*pimldp)
  1058. {
  1059.     BOOL fResult = FALSE;
  1060.     typedef BOOL (WINAPI* PFN)(IMAGELISTDRAWPARAMS*pimldp);
  1061.     static PFN s_pfn;
  1062.     ULONG_PTR  ulpCookie = 0;
  1063.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1064.     if (!fActivateActCtxSuccess)
  1065.         return fResult;
  1066.     __try
  1067.     {
  1068.         if (s_pfn == NULL)
  1069.         {
  1070.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DrawIndirect");
  1071.             if (s_pfn == NULL)
  1072.                 __leave;
  1073.         }
  1074.         fResult = s_pfn(pimldp);
  1075.     }
  1076.     __finally
  1077.     {
  1078.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1079.         {
  1080.             const BOOL fPreserveLastError = (fResult == FALSE);
  1081.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1082.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1083.             if (fPreserveLastError)
  1084.                 SetLastError(dwLastError);
  1085.         }
  1086.     }
  1087.     return fResult;
  1088. }
  1089. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Remove(HIMAGELIST himl,int i)
  1090. {
  1091.     BOOL fResult = FALSE;
  1092.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int i);
  1093.     static PFN s_pfn;
  1094.     ULONG_PTR  ulpCookie = 0;
  1095.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1096.     if (!fActivateActCtxSuccess)
  1097.         return fResult;
  1098.     __try
  1099.     {
  1100.         if (s_pfn == NULL)
  1101.         {
  1102.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Remove");
  1103.             if (s_pfn == NULL)
  1104.                 __leave;
  1105.         }
  1106.         fResult = s_pfn(himl,i);
  1107.     }
  1108.     __finally
  1109.     {
  1110.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1111.         {
  1112.             const BOOL fPreserveLastError = (fResult == FALSE);
  1113.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1114.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1115.             if (fPreserveLastError)
  1116.                 SetLastError(dwLastError);
  1117.         }
  1118.     }
  1119.     return fResult;
  1120. }
  1121. ISOLATION_AWARE_INLINE HICON WINAPI IsolationAwareImageList_GetIcon(HIMAGELIST himl,int i,UINT flags)
  1122. {
  1123.     HICON iconResult = NULL;
  1124.     typedef HICON (WINAPI* PFN)(HIMAGELIST himl,int i,UINT flags);
  1125.     static PFN s_pfn;
  1126.     ULONG_PTR  ulpCookie = 0;
  1127.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1128.     if (!fActivateActCtxSuccess)
  1129.         return iconResult;
  1130.     __try
  1131.     {
  1132.         if (s_pfn == NULL)
  1133.         {
  1134.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetIcon");
  1135.             if (s_pfn == NULL)
  1136.                 __leave;
  1137.         }
  1138.         iconResult = s_pfn(himl,i,flags);
  1139.     }
  1140.     __finally
  1141.     {
  1142.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1143.         {
  1144.             const BOOL fPreserveLastError = (iconResult == NULL);
  1145.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1146.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1147.             if (fPreserveLastError)
  1148.                 SetLastError(dwLastError);
  1149.         }
  1150.     }
  1151.     return iconResult;
  1152. }
  1153. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_LoadImageA(HINSTANCE hi,LPCSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags)
  1154. {
  1155.     HIMAGELIST imagelistResult = NULL;
  1156.     typedef HIMAGELIST (WINAPI* PFN)(HINSTANCE hi,LPCSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
  1157.     static PFN s_pfn;
  1158.     ULONG_PTR  ulpCookie = 0;
  1159.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1160.     if (!fActivateActCtxSuccess)
  1161.         return imagelistResult;
  1162.     __try
  1163.     {
  1164.         if (s_pfn == NULL)
  1165.         {
  1166.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_LoadImageA");
  1167.             if (s_pfn == NULL)
  1168.                 __leave;
  1169.         }
  1170.         imagelistResult = s_pfn(hi,lpbmp,cx,cGrow,crMask,uType,uFlags);
  1171.     }
  1172.     __finally
  1173.     {
  1174.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1175.         {
  1176.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1177.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1178.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1179.             if (fPreserveLastError)
  1180.                 SetLastError(dwLastError);
  1181.         }
  1182.     }
  1183.     return imagelistResult;
  1184. }
  1185. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_LoadImageW(HINSTANCE hi,LPCWSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags)
  1186. {
  1187.     HIMAGELIST imagelistResult = NULL;
  1188.     typedef HIMAGELIST (WINAPI* PFN)(HINSTANCE hi,LPCWSTR lpbmp,int cx,int cGrow,COLORREF crMask,UINT uType,UINT uFlags);
  1189.     static PFN s_pfn;
  1190.     ULONG_PTR  ulpCookie = 0;
  1191.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1192.     if (!fActivateActCtxSuccess)
  1193.         return imagelistResult;
  1194.     __try
  1195.     {
  1196.         if (s_pfn == NULL)
  1197.         {
  1198.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_LoadImageW");
  1199.             if (s_pfn == NULL)
  1200.                 __leave;
  1201.         }
  1202.         imagelistResult = s_pfn(hi,lpbmp,cx,cGrow,crMask,uType,uFlags);
  1203.     }
  1204.     __finally
  1205.     {
  1206.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1207.         {
  1208.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1209.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1210.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1211.             if (fPreserveLastError)
  1212.                 SetLastError(dwLastError);
  1213.         }
  1214.     }
  1215.     return imagelistResult;
  1216. }
  1217. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Copy(HIMAGELIST himlDst,int iDst,HIMAGELIST himlSrc,int iSrc,UINT uFlags)
  1218. {
  1219.     BOOL fResult = FALSE;
  1220.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himlDst,int iDst,HIMAGELIST himlSrc,int iSrc,UINT uFlags);
  1221.     static PFN s_pfn;
  1222.     ULONG_PTR  ulpCookie = 0;
  1223.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1224.     if (!fActivateActCtxSuccess)
  1225.         return fResult;
  1226.     __try
  1227.     {
  1228.         if (s_pfn == NULL)
  1229.         {
  1230.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Copy");
  1231.             if (s_pfn == NULL)
  1232.                 __leave;
  1233.         }
  1234.         fResult = s_pfn(himlDst,iDst,himlSrc,iSrc,uFlags);
  1235.     }
  1236.     __finally
  1237.     {
  1238.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1239.         {
  1240.             const BOOL fPreserveLastError = (fResult == FALSE);
  1241.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1242.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1243.             if (fPreserveLastError)
  1244.                 SetLastError(dwLastError);
  1245.         }
  1246.     }
  1247.     return fResult;
  1248. }
  1249. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_BeginDrag(HIMAGELIST himlTrack,int iTrack,int dxHotspot,int dyHotspot)
  1250. {
  1251.     BOOL fResult = FALSE;
  1252.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himlTrack,int iTrack,int dxHotspot,int dyHotspot);
  1253.     static PFN s_pfn;
  1254.     ULONG_PTR  ulpCookie = 0;
  1255.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1256.     if (!fActivateActCtxSuccess)
  1257.         return fResult;
  1258.     __try
  1259.     {
  1260.         if (s_pfn == NULL)
  1261.         {
  1262.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_BeginDrag");
  1263.             if (s_pfn == NULL)
  1264.                 __leave;
  1265.         }
  1266.         fResult = s_pfn(himlTrack,iTrack,dxHotspot,dyHotspot);
  1267.     }
  1268.     __finally
  1269.     {
  1270.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1271.         {
  1272.             const BOOL fPreserveLastError = (fResult == FALSE);
  1273.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1274.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1275.             if (fPreserveLastError)
  1276.                 SetLastError(dwLastError);
  1277.         }
  1278.     }
  1279.     return fResult;
  1280. }
  1281. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareImageList_EndDrag(void)
  1282. {
  1283.     typedef void (WINAPI* PFN)(void);
  1284.     static PFN s_pfn;
  1285.     ULONG_PTR  ulpCookie = 0;
  1286.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1287.     if (!fActivateActCtxSuccess)
  1288.         return;
  1289.     __try
  1290.     {
  1291.         if (s_pfn == NULL)
  1292.         {
  1293.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_EndDrag");
  1294.             if (s_pfn == NULL)
  1295.                 __leave;
  1296.         }
  1297.         s_pfn();
  1298.     }
  1299.     __finally
  1300.     {
  1301.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1302.         {
  1303.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1304.         }
  1305.     }
  1306.     return;
  1307. }
  1308. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DragEnter(HWND hwndLock,int x,int y)
  1309. {
  1310.     BOOL fResult = FALSE;
  1311.     typedef BOOL (WINAPI* PFN)(HWND hwndLock,int x,int y);
  1312.     static PFN s_pfn;
  1313.     ULONG_PTR  ulpCookie = 0;
  1314.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1315.     if (!fActivateActCtxSuccess)
  1316.         return fResult;
  1317.     __try
  1318.     {
  1319.         if (s_pfn == NULL)
  1320.         {
  1321.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DragEnter");
  1322.             if (s_pfn == NULL)
  1323.                 __leave;
  1324.         }
  1325.         fResult = s_pfn(hwndLock,x,y);
  1326.     }
  1327.     __finally
  1328.     {
  1329.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1330.         {
  1331.             const BOOL fPreserveLastError = (fResult == FALSE);
  1332.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1333.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1334.             if (fPreserveLastError)
  1335.                 SetLastError(dwLastError);
  1336.         }
  1337.     }
  1338.     return fResult;
  1339. }
  1340. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DragLeave(HWND hwndLock)
  1341. {
  1342.     BOOL fResult = FALSE;
  1343.     typedef BOOL (WINAPI* PFN)(HWND hwndLock);
  1344.     static PFN s_pfn;
  1345.     ULONG_PTR  ulpCookie = 0;
  1346.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1347.     if (!fActivateActCtxSuccess)
  1348.         return fResult;
  1349.     __try
  1350.     {
  1351.         if (s_pfn == NULL)
  1352.         {
  1353.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DragLeave");
  1354.             if (s_pfn == NULL)
  1355.                 __leave;
  1356.         }
  1357.         fResult = s_pfn(hwndLock);
  1358.     }
  1359.     __finally
  1360.     {
  1361.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1362.         {
  1363.             const BOOL fPreserveLastError = (fResult == FALSE);
  1364.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1365.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1366.             if (fPreserveLastError)
  1367.                 SetLastError(dwLastError);
  1368.         }
  1369.     }
  1370.     return fResult;
  1371. }
  1372. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DragMove(int x,int y)
  1373. {
  1374.     BOOL fResult = FALSE;
  1375.     typedef BOOL (WINAPI* PFN)(int x,int y);
  1376.     static PFN s_pfn;
  1377.     ULONG_PTR  ulpCookie = 0;
  1378.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1379.     if (!fActivateActCtxSuccess)
  1380.         return fResult;
  1381.     __try
  1382.     {
  1383.         if (s_pfn == NULL)
  1384.         {
  1385.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DragMove");
  1386.             if (s_pfn == NULL)
  1387.                 __leave;
  1388.         }
  1389.         fResult = s_pfn(x,y);
  1390.     }
  1391.     __finally
  1392.     {
  1393.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1394.         {
  1395.             const BOOL fPreserveLastError = (fResult == FALSE);
  1396.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1397.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1398.             if (fPreserveLastError)
  1399.                 SetLastError(dwLastError);
  1400.         }
  1401.     }
  1402.     return fResult;
  1403. }
  1404. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_SetDragCursorImage(HIMAGELIST himlDrag,int iDrag,int dxHotspot,int dyHotspot)
  1405. {
  1406.     BOOL fResult = FALSE;
  1407.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himlDrag,int iDrag,int dxHotspot,int dyHotspot);
  1408.     static PFN s_pfn;
  1409.     ULONG_PTR  ulpCookie = 0;
  1410.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1411.     if (!fActivateActCtxSuccess)
  1412.         return fResult;
  1413.     __try
  1414.     {
  1415.         if (s_pfn == NULL)
  1416.         {
  1417.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_SetDragCursorImage");
  1418.             if (s_pfn == NULL)
  1419.                 __leave;
  1420.         }
  1421.         fResult = s_pfn(himlDrag,iDrag,dxHotspot,dyHotspot);
  1422.     }
  1423.     __finally
  1424.     {
  1425.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1426.         {
  1427.             const BOOL fPreserveLastError = (fResult == FALSE);
  1428.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1429.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1430.             if (fPreserveLastError)
  1431.                 SetLastError(dwLastError);
  1432.         }
  1433.     }
  1434.     return fResult;
  1435. }
  1436. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_DragShowNolock(BOOL fShow)
  1437. {
  1438.     BOOL fResult = FALSE;
  1439.     typedef BOOL (WINAPI* PFN)(BOOL fShow);
  1440.     static PFN s_pfn;
  1441.     ULONG_PTR  ulpCookie = 0;
  1442.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1443.     if (!fActivateActCtxSuccess)
  1444.         return fResult;
  1445.     __try
  1446.     {
  1447.         if (s_pfn == NULL)
  1448.         {
  1449.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_DragShowNolock");
  1450.             if (s_pfn == NULL)
  1451.                 __leave;
  1452.         }
  1453.         fResult = s_pfn(fShow);
  1454.     }
  1455.     __finally
  1456.     {
  1457.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1458.         {
  1459.             const BOOL fPreserveLastError = (fResult == FALSE);
  1460.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1461.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1462.             if (fPreserveLastError)
  1463.                 SetLastError(dwLastError);
  1464.         }
  1465.     }
  1466.     return fResult;
  1467. }
  1468. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_GetDragImage(POINT*ppt,POINT*pptHotspot)
  1469. {
  1470.     HIMAGELIST imagelistResult = NULL;
  1471.     typedef HIMAGELIST (WINAPI* PFN)(POINT*ppt,POINT*pptHotspot);
  1472.     static PFN s_pfn;
  1473.     ULONG_PTR  ulpCookie = 0;
  1474.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1475.     if (!fActivateActCtxSuccess)
  1476.         return imagelistResult;
  1477.     __try
  1478.     {
  1479.         if (s_pfn == NULL)
  1480.         {
  1481.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetDragImage");
  1482.             if (s_pfn == NULL)
  1483.                 __leave;
  1484.         }
  1485.         imagelistResult = s_pfn(ppt,pptHotspot);
  1486.     }
  1487.     __finally
  1488.     {
  1489.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1490.         {
  1491.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1492.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1493.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1494.             if (fPreserveLastError)
  1495.                 SetLastError(dwLastError);
  1496.         }
  1497.     }
  1498.     return imagelistResult;
  1499. }
  1500. #if defined(__IStream_INTERFACE_DEFINED__)
  1501. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_Read(LPSTREAM pstm)
  1502. {
  1503.     HIMAGELIST imagelistResult = NULL;
  1504.     typedef HIMAGELIST (WINAPI* PFN)(LPSTREAM pstm);
  1505.     static PFN s_pfn;
  1506.     ULONG_PTR  ulpCookie = 0;
  1507.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1508.     if (!fActivateActCtxSuccess)
  1509.         return imagelistResult;
  1510.     __try
  1511.     {
  1512.         if (s_pfn == NULL)
  1513.         {
  1514.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Read");
  1515.             if (s_pfn == NULL)
  1516.                 __leave;
  1517.         }
  1518.         imagelistResult = s_pfn(pstm);
  1519.     }
  1520.     __finally
  1521.     {
  1522.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1523.         {
  1524.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1525.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1526.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1527.             if (fPreserveLastError)
  1528.                 SetLastError(dwLastError);
  1529.         }
  1530.     }
  1531.     return imagelistResult;
  1532. }
  1533. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_Write(HIMAGELIST himl,LPSTREAM pstm)
  1534. {
  1535.     BOOL fResult = FALSE;
  1536.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,LPSTREAM pstm);
  1537.     static PFN s_pfn;
  1538.     ULONG_PTR  ulpCookie = 0;
  1539.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1540.     if (!fActivateActCtxSuccess)
  1541.         return fResult;
  1542.     __try
  1543.     {
  1544.         if (s_pfn == NULL)
  1545.         {
  1546.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Write");
  1547.             if (s_pfn == NULL)
  1548.                 __leave;
  1549.         }
  1550.         fResult = s_pfn(himl,pstm);
  1551.     }
  1552.     __finally
  1553.     {
  1554.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1555.         {
  1556.             const BOOL fPreserveLastError = (fResult == FALSE);
  1557.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1558.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1559.             if (fPreserveLastError)
  1560.                 SetLastError(dwLastError);
  1561.         }
  1562.     }
  1563.     return fResult;
  1564. }
  1565. #if defined(__IStream_INTERFACE_DEFINED__) &&  (_WIN32_WINNT >= 0x0501)
  1566. ISOLATION_AWARE_INLINE HRESULT WINAPI IsolationAwareImageList_ReadEx(DWORD dwFlags,LPSTREAM pstm,REFIID riid,PVOID*ppv)
  1567. {
  1568.     HRESULT result = S_OK;
  1569.     typedef HRESULT (WINAPI* PFN)(DWORD dwFlags,LPSTREAM pstm,REFIID riid,PVOID*ppv);
  1570.     static PFN s_pfn;
  1571.     ULONG_PTR  ulpCookie = 0;
  1572.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1573.     if (!fActivateActCtxSuccess)
  1574.         goto ExitWin32ToHresult;
  1575.     __try
  1576.     {
  1577.         if (s_pfn == NULL)
  1578.         {
  1579.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_ReadEx");
  1580.             if (s_pfn == NULL)
  1581.                 goto ExitWin32ToHresult;
  1582.         }
  1583.         result = s_pfn(dwFlags,pstm,riid,ppv);
  1584.     }
  1585.     __finally
  1586.     {
  1587.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1588.         {
  1589.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1590.         }
  1591.     }
  1592.     return result;
  1593. ExitWin32ToHresult:
  1594.     {
  1595.         DWORD dwLastError = GetLastError();
  1596.         if (dwLastError == NO_ERROR)
  1597.             dwLastError = ERROR_INTERNAL_ERROR;
  1598.         result = HRESULT_FROM_WIN32(dwLastError);
  1599.         return result;
  1600.     }
  1601. }
  1602. ISOLATION_AWARE_INLINE HRESULT WINAPI IsolationAwareImageList_WriteEx(HIMAGELIST himl,DWORD dwFlags,LPSTREAM pstm)
  1603. {
  1604.     HRESULT result = S_OK;
  1605.     typedef HRESULT (WINAPI* PFN)(HIMAGELIST himl,DWORD dwFlags,LPSTREAM pstm);
  1606.     static PFN s_pfn;
  1607.     ULONG_PTR  ulpCookie = 0;
  1608.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1609.     if (!fActivateActCtxSuccess)
  1610.         goto ExitWin32ToHresult;
  1611.     __try
  1612.     {
  1613.         if (s_pfn == NULL)
  1614.         {
  1615.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_WriteEx");
  1616.             if (s_pfn == NULL)
  1617.                 goto ExitWin32ToHresult;
  1618.         }
  1619.         result = s_pfn(himl,dwFlags,pstm);
  1620.     }
  1621.     __finally
  1622.     {
  1623.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1624.         {
  1625.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1626.         }
  1627.     }
  1628.     return result;
  1629. ExitWin32ToHresult:
  1630.     {
  1631.         DWORD dwLastError = GetLastError();
  1632.         if (dwLastError == NO_ERROR)
  1633.             dwLastError = ERROR_INTERNAL_ERROR;
  1634.         result = HRESULT_FROM_WIN32(dwLastError);
  1635.         return result;
  1636.     }
  1637. }
  1638. #endif /* defined(__IStream_INTERFACE_DEFINED__) &&  (_WIN32_WINNT >= 0x0501) */
  1639. #endif /* defined(__IStream_INTERFACE_DEFINED__) */
  1640. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_GetIconSize(HIMAGELIST himl,int*cx,int*cy)
  1641. {
  1642.     BOOL fResult = FALSE;
  1643.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int*cx,int*cy);
  1644.     static PFN s_pfn;
  1645.     ULONG_PTR  ulpCookie = 0;
  1646.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1647.     if (!fActivateActCtxSuccess)
  1648.         return fResult;
  1649.     __try
  1650.     {
  1651.         if (s_pfn == NULL)
  1652.         {
  1653.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetIconSize");
  1654.             if (s_pfn == NULL)
  1655.                 __leave;
  1656.         }
  1657.         fResult = s_pfn(himl,cx,cy);
  1658.     }
  1659.     __finally
  1660.     {
  1661.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1662.         {
  1663.             const BOOL fPreserveLastError = (fResult == FALSE);
  1664.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1665.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1666.             if (fPreserveLastError)
  1667.                 SetLastError(dwLastError);
  1668.         }
  1669.     }
  1670.     return fResult;
  1671. }
  1672. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_SetIconSize(HIMAGELIST himl,int cx,int cy)
  1673. {
  1674.     BOOL fResult = FALSE;
  1675.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int cx,int cy);
  1676.     static PFN s_pfn;
  1677.     ULONG_PTR  ulpCookie = 0;
  1678.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1679.     if (!fActivateActCtxSuccess)
  1680.         return fResult;
  1681.     __try
  1682.     {
  1683.         if (s_pfn == NULL)
  1684.         {
  1685.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_SetIconSize");
  1686.             if (s_pfn == NULL)
  1687.                 __leave;
  1688.         }
  1689.         fResult = s_pfn(himl,cx,cy);
  1690.     }
  1691.     __finally
  1692.     {
  1693.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1694.         {
  1695.             const BOOL fPreserveLastError = (fResult == FALSE);
  1696.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1697.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1698.             if (fPreserveLastError)
  1699.                 SetLastError(dwLastError);
  1700.         }
  1701.     }
  1702.     return fResult;
  1703. }
  1704. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareImageList_GetImageInfo(HIMAGELIST himl,int i,IMAGEINFO*pImageInfo)
  1705. {
  1706.     BOOL fResult = FALSE;
  1707.     typedef BOOL (WINAPI* PFN)(HIMAGELIST himl,int i,IMAGEINFO*pImageInfo);
  1708.     static PFN s_pfn;
  1709.     ULONG_PTR  ulpCookie = 0;
  1710.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1711.     if (!fActivateActCtxSuccess)
  1712.         return fResult;
  1713.     __try
  1714.     {
  1715.         if (s_pfn == NULL)
  1716.         {
  1717.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_GetImageInfo");
  1718.             if (s_pfn == NULL)
  1719.                 __leave;
  1720.         }
  1721.         fResult = s_pfn(himl,i,pImageInfo);
  1722.     }
  1723.     __finally
  1724.     {
  1725.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1726.         {
  1727.             const BOOL fPreserveLastError = (fResult == FALSE);
  1728.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1729.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1730.             if (fPreserveLastError)
  1731.                 SetLastError(dwLastError);
  1732.         }
  1733.     }
  1734.     return fResult;
  1735. }
  1736. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_Merge(HIMAGELIST himl1,int i1,HIMAGELIST himl2,int i2,int dx,int dy)
  1737. {
  1738.     HIMAGELIST imagelistResult = NULL;
  1739.     typedef HIMAGELIST (WINAPI* PFN)(HIMAGELIST himl1,int i1,HIMAGELIST himl2,int i2,int dx,int dy);
  1740.     static PFN s_pfn;
  1741.     ULONG_PTR  ulpCookie = 0;
  1742.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1743.     if (!fActivateActCtxSuccess)
  1744.         return imagelistResult;
  1745.     __try
  1746.     {
  1747.         if (s_pfn == NULL)
  1748.         {
  1749.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Merge");
  1750.             if (s_pfn == NULL)
  1751.                 __leave;
  1752.         }
  1753.         imagelistResult = s_pfn(himl1,i1,himl2,i2,dx,dy);
  1754.     }
  1755.     __finally
  1756.     {
  1757.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1758.         {
  1759.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1760.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1761.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1762.             if (fPreserveLastError)
  1763.                 SetLastError(dwLastError);
  1764.         }
  1765.     }
  1766.     return imagelistResult;
  1767. }
  1768. ISOLATION_AWARE_INLINE HIMAGELIST WINAPI IsolationAwareImageList_Duplicate(HIMAGELIST himl)
  1769. {
  1770.     HIMAGELIST imagelistResult = NULL;
  1771.     typedef HIMAGELIST (WINAPI* PFN)(HIMAGELIST himl);
  1772.     static PFN s_pfn;
  1773.     ULONG_PTR  ulpCookie = 0;
  1774.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1775.     if (!fActivateActCtxSuccess)
  1776.         return imagelistResult;
  1777.     __try
  1778.     {
  1779.         if (s_pfn == NULL)
  1780.         {
  1781.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ImageList_Duplicate");
  1782.             if (s_pfn == NULL)
  1783.                 __leave;
  1784.         }
  1785.         imagelistResult = s_pfn(himl);
  1786.     }
  1787.     __finally
  1788.     {
  1789.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1790.         {
  1791.             const BOOL fPreserveLastError = (imagelistResult == NULL);
  1792.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1793.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1794.             if (fPreserveLastError)
  1795.                 SetLastError(dwLastError);
  1796.         }
  1797.     }
  1798.     return imagelistResult;
  1799. }
  1800. ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareCreateToolbarEx(HWND hwnd,DWORD ws,UINT wID,int nBitmaps,HINSTANCE hBMInst,UINT_PTR wBMID,LPCTBBUTTON lpButtons,int iNumButtons,int dxButton,int dyButton,int dxBitmap,int dyBitmap,UINT uStructSize)
  1801. {
  1802.     HWND windowResult = NULL;
  1803.     typedef HWND (WINAPI* PFN)(HWND hwnd,DWORD ws,UINT wID,int nBitmaps,HINSTANCE hBMInst,UINT_PTR wBMID,LPCTBBUTTON lpButtons,int iNumButtons,int dxButton,int dyButton,int dxBitmap,int dyBitmap,UINT uStructSize);
  1804.     static PFN s_pfn;
  1805.     ULONG_PTR  ulpCookie = 0;
  1806.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1807.     if (!fActivateActCtxSuccess)
  1808.         return windowResult;
  1809.     __try
  1810.     {
  1811.         if (s_pfn == NULL)
  1812.         {
  1813.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("CreateToolbarEx");
  1814.             if (s_pfn == NULL)
  1815.                 __leave;
  1816.         }
  1817.         windowResult = s_pfn(hwnd,ws,wID,nBitmaps,hBMInst,wBMID,lpButtons,iNumButtons,dxButton,dyButton,dxBitmap,dyBitmap,uStructSize);
  1818.     }
  1819.     __finally
  1820.     {
  1821.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1822.         {
  1823.             const BOOL fPreserveLastError = (windowResult == NULL);
  1824.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1825.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1826.             if (fPreserveLastError)
  1827.                 SetLastError(dwLastError);
  1828.         }
  1829.     }
  1830.     return windowResult;
  1831. }
  1832. ISOLATION_AWARE_INLINE HBITMAP WINAPI IsolationAwareCreateMappedBitmap(HINSTANCE hInstance,INT_PTR idBitmap,UINT wFlags,LPCOLORMAP lpColorMap,int iNumMaps)
  1833. {
  1834.     HBITMAP bitmapResult = NULL;
  1835.     typedef HBITMAP (WINAPI* PFN)(HINSTANCE hInstance,INT_PTR idBitmap,UINT wFlags,LPCOLORMAP lpColorMap,int iNumMaps);
  1836.     static PFN s_pfn;
  1837.     ULONG_PTR  ulpCookie = 0;
  1838.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1839.     if (!fActivateActCtxSuccess)
  1840.         return bitmapResult;
  1841.     __try
  1842.     {
  1843.         if (s_pfn == NULL)
  1844.         {
  1845.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("CreateMappedBitmap");
  1846.             if (s_pfn == NULL)
  1847.                 __leave;
  1848.         }
  1849.         bitmapResult = s_pfn(hInstance,idBitmap,wFlags,lpColorMap,iNumMaps);
  1850.     }
  1851.     __finally
  1852.     {
  1853.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1854.         {
  1855.             const BOOL fPreserveLastError = (bitmapResult == NULL);
  1856.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1857.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1858.             if (fPreserveLastError)
  1859.                 SetLastError(dwLastError);
  1860.         }
  1861.     }
  1862.     return bitmapResult;
  1863. }
  1864. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareDrawStatusTextA(HDC hDC,LPRECT lprc,LPCSTR pszText,UINT uFlags)
  1865. {
  1866.     typedef void (WINAPI* PFN)(HDC hDC,LPRECT lprc,LPCSTR pszText,UINT uFlags);
  1867.     static PFN s_pfn;
  1868.     ULONG_PTR  ulpCookie = 0;
  1869.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1870.     if (!fActivateActCtxSuccess)
  1871.         return;
  1872.     __try
  1873.     {
  1874.         if (s_pfn == NULL)
  1875.         {
  1876.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("DrawStatusTextA");
  1877.             if (s_pfn == NULL)
  1878.                 __leave;
  1879.         }
  1880.         s_pfn(hDC,lprc,pszText,uFlags);
  1881.     }
  1882.     __finally
  1883.     {
  1884.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1885.         {
  1886.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1887.         }
  1888.     }
  1889.     return;
  1890. }
  1891. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareDrawStatusTextW(HDC hDC,LPRECT lprc,LPCWSTR pszText,UINT uFlags)
  1892. {
  1893.     typedef void (WINAPI* PFN)(HDC hDC,LPRECT lprc,LPCWSTR pszText,UINT uFlags);
  1894.     static PFN s_pfn;
  1895.     ULONG_PTR  ulpCookie = 0;
  1896.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1897.     if (!fActivateActCtxSuccess)
  1898.         return;
  1899.     __try
  1900.     {
  1901.         if (s_pfn == NULL)
  1902.         {
  1903.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("DrawStatusTextW");
  1904.             if (s_pfn == NULL)
  1905.                 __leave;
  1906.         }
  1907.         s_pfn(hDC,lprc,pszText,uFlags);
  1908.     }
  1909.     __finally
  1910.     {
  1911.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1912.         {
  1913.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1914.         }
  1915.     }
  1916.     return;
  1917. }
  1918. ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareCreateStatusWindowA(long style,LPCSTR lpszText,HWND hwndParent,UINT wID)
  1919. {
  1920.     HWND windowResult = NULL;
  1921.     typedef HWND (WINAPI* PFN)(long style,LPCSTR lpszText,HWND hwndParent,UINT wID);
  1922.     static PFN s_pfn;
  1923.     ULONG_PTR  ulpCookie = 0;
  1924.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1925.     if (!fActivateActCtxSuccess)
  1926.         return windowResult;
  1927.     __try
  1928.     {
  1929.         if (s_pfn == NULL)
  1930.         {
  1931.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("CreateStatusWindowA");
  1932.             if (s_pfn == NULL)
  1933.                 __leave;
  1934.         }
  1935.         windowResult = s_pfn(style,lpszText,hwndParent,wID);
  1936.     }
  1937.     __finally
  1938.     {
  1939.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1940.         {
  1941.             const BOOL fPreserveLastError = (windowResult == NULL);
  1942.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1943.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1944.             if (fPreserveLastError)
  1945.                 SetLastError(dwLastError);
  1946.         }
  1947.     }
  1948.     return windowResult;
  1949. }
  1950. ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareCreateStatusWindowW(long style,LPCWSTR lpszText,HWND hwndParent,UINT wID)
  1951. {
  1952.     HWND windowResult = NULL;
  1953.     typedef HWND (WINAPI* PFN)(long style,LPCWSTR lpszText,HWND hwndParent,UINT wID);
  1954.     static PFN s_pfn;
  1955.     ULONG_PTR  ulpCookie = 0;
  1956.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1957.     if (!fActivateActCtxSuccess)
  1958.         return windowResult;
  1959.     __try
  1960.     {
  1961.         if (s_pfn == NULL)
  1962.         {
  1963.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("CreateStatusWindowW");
  1964.             if (s_pfn == NULL)
  1965.                 __leave;
  1966.         }
  1967.         windowResult = s_pfn(style,lpszText,hwndParent,wID);
  1968.     }
  1969.     __finally
  1970.     {
  1971.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  1972.         {
  1973.             const BOOL fPreserveLastError = (windowResult == NULL);
  1974.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  1975.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  1976.             if (fPreserveLastError)
  1977.                 SetLastError(dwLastError);
  1978.         }
  1979.     }
  1980.     return windowResult;
  1981. }
  1982. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareMenuHelp(UINT uMsg,WPARAM wParam,LPARAM lParam,HMENU hMainMenu,HINSTANCE hInst,HWND hwndStatus,UINT*lpwIDs)
  1983. {
  1984.     typedef void (WINAPI* PFN)(UINT uMsg,WPARAM wParam,LPARAM lParam,HMENU hMainMenu,HINSTANCE hInst,HWND hwndStatus,UINT*lpwIDs);
  1985.     static PFN s_pfn;
  1986.     ULONG_PTR  ulpCookie = 0;
  1987.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  1988.     if (!fActivateActCtxSuccess)
  1989.         return;
  1990.     __try
  1991.     {
  1992.         if (s_pfn == NULL)
  1993.         {
  1994.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("MenuHelp");
  1995.             if (s_pfn == NULL)
  1996.                 __leave;
  1997.         }
  1998.         s_pfn(uMsg,wParam,lParam,hMainMenu,hInst,hwndStatus,lpwIDs);
  1999.     }
  2000.     __finally
  2001.     {
  2002.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2003.         {
  2004.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2005.         }
  2006.     }
  2007.     return;
  2008. }
  2009. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareShowHideMenuCtl(HWND hWnd,UINT_PTR uFlags,LPINT lpInfo)
  2010. {
  2011.     BOOL fResult = FALSE;
  2012.     typedef BOOL (WINAPI* PFN)(HWND hWnd,UINT_PTR uFlags,LPINT lpInfo);
  2013.     static PFN s_pfn;
  2014.     ULONG_PTR  ulpCookie = 0;
  2015.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2016.     if (!fActivateActCtxSuccess)
  2017.         return fResult;
  2018.     __try
  2019.     {
  2020.         if (s_pfn == NULL)
  2021.         {
  2022.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("ShowHideMenuCtl");
  2023.             if (s_pfn == NULL)
  2024.                 __leave;
  2025.         }
  2026.         fResult = s_pfn(hWnd,uFlags,lpInfo);
  2027.     }
  2028.     __finally
  2029.     {
  2030.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2031.         {
  2032.             const BOOL fPreserveLastError = (fResult == FALSE);
  2033.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2034.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2035.             if (fPreserveLastError)
  2036.                 SetLastError(dwLastError);
  2037.         }
  2038.     }
  2039.     return fResult;
  2040. }
  2041. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareGetEffectiveClientRect(HWND hWnd,LPRECT lprc,LPINT lpInfo)
  2042. {
  2043.     typedef void (WINAPI* PFN)(HWND hWnd,LPRECT lprc,LPINT lpInfo);
  2044.     static PFN s_pfn;
  2045.     ULONG_PTR  ulpCookie = 0;
  2046.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2047.     if (!fActivateActCtxSuccess)
  2048.         return;
  2049.     __try
  2050.     {
  2051.         if (s_pfn == NULL)
  2052.         {
  2053.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("GetEffectiveClientRect");
  2054.             if (s_pfn == NULL)
  2055.                 __leave;
  2056.         }
  2057.         s_pfn(hWnd,lprc,lpInfo);
  2058.     }
  2059.     __finally
  2060.     {
  2061.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2062.         {
  2063.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2064.         }
  2065.     }
  2066.     return;
  2067. }
  2068. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareMakeDragList(HWND hLB)
  2069. {
  2070.     BOOL fResult = FALSE;
  2071.     typedef BOOL (WINAPI* PFN)(HWND hLB);
  2072.     static PFN s_pfn;
  2073.     ULONG_PTR  ulpCookie = 0;
  2074.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2075.     if (!fActivateActCtxSuccess)
  2076.         return fResult;
  2077.     __try
  2078.     {
  2079.         if (s_pfn == NULL)
  2080.         {
  2081.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("MakeDragList");
  2082.             if (s_pfn == NULL)
  2083.                 __leave;
  2084.         }
  2085.         fResult = s_pfn(hLB);
  2086.     }
  2087.     __finally
  2088.     {
  2089.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2090.         {
  2091.             const BOOL fPreserveLastError = (fResult == FALSE);
  2092.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2093.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2094.             if (fPreserveLastError)
  2095.                 SetLastError(dwLastError);
  2096.         }
  2097.     }
  2098.     return fResult;
  2099. }
  2100. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareDrawInsert(HWND handParent,HWND hLB,int nItem)
  2101. {
  2102.     typedef void (WINAPI* PFN)(HWND handParent,HWND hLB,int nItem);
  2103.     static PFN s_pfn;
  2104.     ULONG_PTR  ulpCookie = 0;
  2105.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2106.     if (!fActivateActCtxSuccess)
  2107.         return;
  2108.     __try
  2109.     {
  2110.         if (s_pfn == NULL)
  2111.         {
  2112.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("DrawInsert");
  2113.             if (s_pfn == NULL)
  2114.                 __leave;
  2115.         }
  2116.         s_pfn(handParent,hLB,nItem);
  2117.     }
  2118.     __finally
  2119.     {
  2120.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2121.         {
  2122.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2123.         }
  2124.     }
  2125.     return;
  2126. }
  2127. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareLBItemFromPt(HWND hLB,POINT pt,BOOL bAutoScroll)
  2128. {
  2129.     int nResult = -1;
  2130.     typedef int (WINAPI* PFN)(HWND hLB,POINT pt,BOOL bAutoScroll);
  2131.     static PFN s_pfn;
  2132.     ULONG_PTR  ulpCookie = 0;
  2133.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2134.     if (!fActivateActCtxSuccess)
  2135.         return nResult;
  2136.     __try
  2137.     {
  2138.         if (s_pfn == NULL)
  2139.         {
  2140.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("LBItemFromPt");
  2141.             if (s_pfn == NULL)
  2142.                 __leave;
  2143.         }
  2144.         nResult = s_pfn(hLB,pt,bAutoScroll);
  2145.     }
  2146.     __finally
  2147.     {
  2148.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2149.         {
  2150.             const BOOL fPreserveLastError = (nResult == -1);
  2151.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2152.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2153.             if (fPreserveLastError)
  2154.                 SetLastError(dwLastError);
  2155.         }
  2156.     }
  2157.     return nResult;
  2158. }
  2159. ISOLATION_AWARE_INLINE HWND WINAPI IsolationAwareCreateUpDownControl(DWORD dwStyle,int x,int y,int cx,int cy,HWND hParent,int nID,HINSTANCE hInst,HWND hBuddy,int nUpper,int nLower,int nPos)
  2160. {
  2161.     HWND windowResult = NULL;
  2162.     typedef HWND (WINAPI* PFN)(DWORD dwStyle,int x,int y,int cx,int cy,HWND hParent,int nID,HINSTANCE hInst,HWND hBuddy,int nUpper,int nLower,int nPos);
  2163.     static PFN s_pfn;
  2164.     ULONG_PTR  ulpCookie = 0;
  2165.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2166.     if (!fActivateActCtxSuccess)
  2167.         return windowResult;
  2168.     __try
  2169.     {
  2170.         if (s_pfn == NULL)
  2171.         {
  2172.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("CreateUpDownControl");
  2173.             if (s_pfn == NULL)
  2174.                 __leave;
  2175.         }
  2176.         windowResult = s_pfn(dwStyle,x,y,cx,cy,hParent,nID,hInst,hBuddy,nUpper,nLower,nPos);
  2177.     }
  2178.     __finally
  2179.     {
  2180.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2181.         {
  2182.             const BOOL fPreserveLastError = (windowResult == NULL);
  2183.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2184.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2185.             if (fPreserveLastError)
  2186.                 SetLastError(dwLastError);
  2187.         }
  2188.     }
  2189.     return windowResult;
  2190. }
  2191. ISOLATION_AWARE_INLINE void WINAPI IsolationAwareInitMUILanguage(LANGID uiLang)
  2192. {
  2193.     typedef void (WINAPI* PFN)(LANGID uiLang);
  2194.     static PFN s_pfn;
  2195.     ULONG_PTR  ulpCookie = 0;
  2196.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2197.     if (!fActivateActCtxSuccess)
  2198.         return;
  2199.     __try
  2200.     {
  2201.         if (s_pfn == NULL)
  2202.         {
  2203.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("InitMUILanguage");
  2204.             if (s_pfn == NULL)
  2205.                 __leave;
  2206.         }
  2207.         s_pfn(uiLang);
  2208.     }
  2209.     __finally
  2210.     {
  2211.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2212.         {
  2213.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2214.         }
  2215.     }
  2216.     return;
  2217. }
  2218. ISOLATION_AWARE_INLINE LANGID WINAPI IsolationAwareGetMUILanguage(void)
  2219. {
  2220.     LANGID languageIdResult = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);
  2221.     typedef LANGID (WINAPI* PFN)(void);
  2222.     static PFN s_pfn;
  2223.     ULONG_PTR  ulpCookie = 0;
  2224.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2225.     if (!fActivateActCtxSuccess)
  2226.         return languageIdResult;
  2227.     __try
  2228.     {
  2229.         if (s_pfn == NULL)
  2230.         {
  2231.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("GetMUILanguage");
  2232.             if (s_pfn == NULL)
  2233.                 __leave;
  2234.         }
  2235.         languageIdResult = s_pfn();
  2236.     }
  2237.     __finally
  2238.     {
  2239.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2240.         {
  2241.             const BOOL fPreserveLastError = (languageIdResult == MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL));
  2242.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2243.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2244.             if (fPreserveLastError)
  2245.                 SetLastError(dwLastError);
  2246.         }
  2247.     }
  2248.     return languageIdResult;
  2249. }
  2250. #if !defined(NOTRACKMOUSEEVENT)
  2251. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAware_TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack)
  2252. {
  2253.     BOOL fResult = FALSE;
  2254.     typedef BOOL (WINAPI* PFN)(LPTRACKMOUSEEVENT lpEventTrack);
  2255.     static PFN s_pfn;
  2256.     ULONG_PTR  ulpCookie = 0;
  2257.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2258.     if (!fActivateActCtxSuccess)
  2259.         return fResult;
  2260.     __try
  2261.     {
  2262.         if (s_pfn == NULL)
  2263.         {
  2264.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("_TrackMouseEvent");
  2265.             if (s_pfn == NULL)
  2266.                 __leave;
  2267.         }
  2268.         fResult = s_pfn(lpEventTrack);
  2269.     }
  2270.     __finally
  2271.     {
  2272.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2273.         {
  2274.             const BOOL fPreserveLastError = (fResult == FALSE);
  2275.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2276.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2277.             if (fPreserveLastError)
  2278.                 SetLastError(dwLastError);
  2279.         }
  2280.     }
  2281.     return fResult;
  2282. }
  2283. #endif /* !defined(NOTRACKMOUSEEVENT) */
  2284. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_EnableScrollBar(HWND unnamed1,int unnamed2,UINT unnamed3)
  2285. {
  2286.     BOOL fResult = FALSE;
  2287.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int unnamed2,UINT unnamed3);
  2288.     static PFN s_pfn;
  2289.     ULONG_PTR  ulpCookie = 0;
  2290.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2291.     if (!fActivateActCtxSuccess)
  2292.         return fResult;
  2293.     __try
  2294.     {
  2295.         if (s_pfn == NULL)
  2296.         {
  2297.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_EnableScrollBar");
  2298.             if (s_pfn == NULL)
  2299.                 __leave;
  2300.         }
  2301.         fResult = s_pfn(unnamed1,unnamed2,unnamed3);
  2302.     }
  2303.     __finally
  2304.     {
  2305.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2306.         {
  2307.             const BOOL fPreserveLastError = (fResult == FALSE);
  2308.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2309.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2310.             if (fPreserveLastError)
  2311.                 SetLastError(dwLastError);
  2312.         }
  2313.     }
  2314.     return fResult;
  2315. }
  2316. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_ShowScrollBar(HWND unnamed1,int code,BOOL unnamed2)
  2317. {
  2318.     BOOL fResult = FALSE;
  2319.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int code,BOOL unnamed2);
  2320.     static PFN s_pfn;
  2321.     ULONG_PTR  ulpCookie = 0;
  2322.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2323.     if (!fActivateActCtxSuccess)
  2324.         return fResult;
  2325.     __try
  2326.     {
  2327.         if (s_pfn == NULL)
  2328.         {
  2329.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_ShowScrollBar");
  2330.             if (s_pfn == NULL)
  2331.                 __leave;
  2332.         }
  2333.         fResult = s_pfn(unnamed1,code,unnamed2);
  2334.     }
  2335.     __finally
  2336.     {
  2337.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2338.         {
  2339.             const BOOL fPreserveLastError = (fResult == FALSE);
  2340.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2341.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2342.             if (fPreserveLastError)
  2343.                 SetLastError(dwLastError);
  2344.         }
  2345.     }
  2346.     return fResult;
  2347. }
  2348. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_GetScrollRange(HWND unnamed1,int code,LPINT unnamed2,LPINT unnamed3)
  2349. {
  2350.     BOOL fResult = FALSE;
  2351.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int code,LPINT unnamed2,LPINT unnamed3);
  2352.     static PFN s_pfn;
  2353.     ULONG_PTR  ulpCookie = 0;
  2354.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2355.     if (!fActivateActCtxSuccess)
  2356.         return fResult;
  2357.     __try
  2358.     {
  2359.         if (s_pfn == NULL)
  2360.         {
  2361.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_GetScrollRange");
  2362.             if (s_pfn == NULL)
  2363.                 __leave;
  2364.         }
  2365.         fResult = s_pfn(unnamed1,code,unnamed2,unnamed3);
  2366.     }
  2367.     __finally
  2368.     {
  2369.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2370.         {
  2371.             const BOOL fPreserveLastError = (fResult == FALSE);
  2372.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2373.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2374.             if (fPreserveLastError)
  2375.                 SetLastError(dwLastError);
  2376.         }
  2377.     }
  2378.     return fResult;
  2379. }
  2380. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_GetScrollInfo(HWND unnamed1,int code,LPSCROLLINFO unnamed2)
  2381. {
  2382.     BOOL fResult = FALSE;
  2383.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int code,LPSCROLLINFO unnamed2);
  2384.     static PFN s_pfn;
  2385.     ULONG_PTR  ulpCookie = 0;
  2386.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2387.     if (!fActivateActCtxSuccess)
  2388.         return fResult;
  2389.     __try
  2390.     {
  2391.         if (s_pfn == NULL)
  2392.         {
  2393.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_GetScrollInfo");
  2394.             if (s_pfn == NULL)
  2395.                 __leave;
  2396.         }
  2397.         fResult = s_pfn(unnamed1,code,unnamed2);
  2398.     }
  2399.     __finally
  2400.     {
  2401.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2402.         {
  2403.             const BOOL fPreserveLastError = (fResult == FALSE);
  2404.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2405.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2406.             if (fPreserveLastError)
  2407.                 SetLastError(dwLastError);
  2408.         }
  2409.     }
  2410.     return fResult;
  2411. }
  2412. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareFlatSB_GetScrollPos(HWND unnamed1,int code)
  2413. {
  2414.     int nResult = 0 ;
  2415.     typedef int (WINAPI* PFN)(HWND unnamed1,int code);
  2416.     static PFN s_pfn;
  2417.     ULONG_PTR  ulpCookie = 0;
  2418.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2419.     if (!fActivateActCtxSuccess)
  2420.         return nResult;
  2421.     __try
  2422.     {
  2423.         if (s_pfn == NULL)
  2424.         {
  2425.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_GetScrollPos");
  2426.             if (s_pfn == NULL)
  2427.                 __leave;
  2428.         }
  2429.         nResult = s_pfn(unnamed1,code);
  2430.     }
  2431.     __finally
  2432.     {
  2433.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2434.         {
  2435.             const BOOL fPreserveLastError = (nResult == 0 );
  2436.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2437.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2438.             if (fPreserveLastError)
  2439.                 SetLastError(dwLastError);
  2440.         }
  2441.     }
  2442.     return nResult;
  2443. }
  2444. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_GetScrollProp(HWND unnamed1,int propIndex,LPINT unnamed2)
  2445. {
  2446.     BOOL fResult = FALSE;
  2447.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int propIndex,LPINT unnamed2);
  2448.     static PFN s_pfn;
  2449.     ULONG_PTR  ulpCookie = 0;
  2450.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2451.     if (!fActivateActCtxSuccess)
  2452.         return fResult;
  2453.     __try
  2454.     {
  2455.         if (s_pfn == NULL)
  2456.         {
  2457.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_GetScrollProp");
  2458.             if (s_pfn == NULL)
  2459.                 __leave;
  2460.         }
  2461.         fResult = s_pfn(unnamed1,propIndex,unnamed2);
  2462.     }
  2463.     __finally
  2464.     {
  2465.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2466.         {
  2467.             const BOOL fPreserveLastError = (fResult == FALSE);
  2468.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2469.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2470.             if (fPreserveLastError)
  2471.                 SetLastError(dwLastError);
  2472.         }
  2473.     }
  2474.     return fResult;
  2475. }
  2476. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_GetScrollPropPtr(HWND unnamed1,int propIndex,PINT_PTR unnamed2)
  2477. {
  2478.     BOOL fResult = FALSE;
  2479.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,int propIndex,PINT_PTR unnamed2);
  2480.     static PFN s_pfn;
  2481.     ULONG_PTR  ulpCookie = 0;
  2482.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2483.     if (!fActivateActCtxSuccess)
  2484.         return fResult;
  2485.     __try
  2486.     {
  2487.         if (s_pfn == NULL)
  2488.         {
  2489.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL(
  2490. #if defined(_WIN64)
  2491.             "FlatSB_GetScrollPropPtr"
  2492. #else
  2493.             "FlatSB_GetScrollProp"
  2494. #endif
  2495.             );
  2496.             if (s_pfn == NULL)
  2497.                 __leave;
  2498.         }
  2499.         fResult = s_pfn(unnamed1,propIndex,unnamed2);
  2500.     }
  2501.     __finally
  2502.     {
  2503.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2504.         {
  2505.             const BOOL fPreserveLastError = (fResult == FALSE);
  2506.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2507.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2508.             if (fPreserveLastError)
  2509.                 SetLastError(dwLastError);
  2510.         }
  2511.     }
  2512.     return fResult;
  2513. }
  2514. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareFlatSB_SetScrollPos(HWND unnamed1,int code,int pos,BOOL fRedraw)
  2515. {
  2516.     int nResult = 0 ;
  2517.     typedef int (WINAPI* PFN)(HWND unnamed1,int code,int pos,BOOL fRedraw);
  2518.     static PFN s_pfn;
  2519.     ULONG_PTR  ulpCookie = 0;
  2520.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2521.     if (!fActivateActCtxSuccess)
  2522.         return nResult;
  2523.     __try
  2524.     {
  2525.         if (s_pfn == NULL)
  2526.         {
  2527.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_SetScrollPos");
  2528.             if (s_pfn == NULL)
  2529.                 __leave;
  2530.         }
  2531.         nResult = s_pfn(unnamed1,code,pos,fRedraw);
  2532.     }
  2533.     __finally
  2534.     {
  2535.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2536.         {
  2537.             const BOOL fPreserveLastError = (nResult == 0 );
  2538.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2539.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2540.             if (fPreserveLastError)
  2541.                 SetLastError(dwLastError);
  2542.         }
  2543.     }
  2544.     return nResult;
  2545. }
  2546. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareFlatSB_SetScrollInfo(HWND unnamed1,int code,LPSCROLLINFO unnamed2,BOOL fRedraw)
  2547. {
  2548.     int nResult = 0 ;
  2549.     typedef int (WINAPI* PFN)(HWND unnamed1,int code,LPSCROLLINFO unnamed2,BOOL fRedraw);
  2550.     static PFN s_pfn;
  2551.     ULONG_PTR  ulpCookie = 0;
  2552.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2553.     if (!fActivateActCtxSuccess)
  2554.         return nResult;
  2555.     __try
  2556.     {
  2557.         if (s_pfn == NULL)
  2558.         {
  2559.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_SetScrollInfo");
  2560.             if (s_pfn == NULL)
  2561.                 __leave;
  2562.         }
  2563.         nResult = s_pfn(unnamed1,code,unnamed2,fRedraw);
  2564.     }
  2565.     __finally
  2566.     {
  2567.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2568.         {
  2569.             const BOOL fPreserveLastError = (nResult == 0 );
  2570.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2571.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2572.             if (fPreserveLastError)
  2573.                 SetLastError(dwLastError);
  2574.         }
  2575.     }
  2576.     return nResult;
  2577. }
  2578. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareFlatSB_SetScrollRange(HWND unnamed1,int code,int min,int max,BOOL fRedraw)
  2579. {
  2580.     int nResult = 0 ;
  2581.     typedef int (WINAPI* PFN)(HWND unnamed1,int code,int min,int max,BOOL fRedraw);
  2582.     static PFN s_pfn;
  2583.     ULONG_PTR  ulpCookie = 0;
  2584.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2585.     if (!fActivateActCtxSuccess)
  2586.         return nResult;
  2587.     __try
  2588.     {
  2589.         if (s_pfn == NULL)
  2590.         {
  2591.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_SetScrollRange");
  2592.             if (s_pfn == NULL)
  2593.                 __leave;
  2594.         }
  2595.         nResult = s_pfn(unnamed1,code,min,max,fRedraw);
  2596.     }
  2597.     __finally
  2598.     {
  2599.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2600.         {
  2601.             const BOOL fPreserveLastError = (nResult == 0 );
  2602.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2603.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2604.             if (fPreserveLastError)
  2605.                 SetLastError(dwLastError);
  2606.         }
  2607.     }
  2608.     return nResult;
  2609. }
  2610. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareFlatSB_SetScrollProp(HWND unnamed1,UINT index,INT_PTR newValue,BOOL unnamed2)
  2611. {
  2612.     BOOL fResult = FALSE;
  2613.     typedef BOOL (WINAPI* PFN)(HWND unnamed1,UINT index,INT_PTR newValue,BOOL unnamed2);
  2614.     static PFN s_pfn;
  2615.     ULONG_PTR  ulpCookie = 0;
  2616.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2617.     if (!fActivateActCtxSuccess)
  2618.         return fResult;
  2619.     __try
  2620.     {
  2621.         if (s_pfn == NULL)
  2622.         {
  2623.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("FlatSB_SetScrollProp");
  2624.             if (s_pfn == NULL)
  2625.                 __leave;
  2626.         }
  2627.         fResult = s_pfn(unnamed1,index,newValue,unnamed2);
  2628.     }
  2629.     __finally
  2630.     {
  2631.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2632.         {
  2633.             const BOOL fPreserveLastError = (fResult == FALSE);
  2634.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2635.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2636.             if (fPreserveLastError)
  2637.                 SetLastError(dwLastError);
  2638.         }
  2639.     }
  2640.     return fResult;
  2641. }
  2642. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareInitializeFlatSB(HWND unnamed1)
  2643. {
  2644.     BOOL fResult = FALSE;
  2645.     typedef BOOL (WINAPI* PFN)(HWND unnamed1);
  2646.     static PFN s_pfn;
  2647.     ULONG_PTR  ulpCookie = 0;
  2648.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2649.     if (!fActivateActCtxSuccess)
  2650.         return fResult;
  2651.     __try
  2652.     {
  2653.         if (s_pfn == NULL)
  2654.         {
  2655.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("InitializeFlatSB");
  2656.             if (s_pfn == NULL)
  2657.                 __leave;
  2658.         }
  2659.         fResult = s_pfn(unnamed1);
  2660.     }
  2661.     __finally
  2662.     {
  2663.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2664.         {
  2665.             const BOOL fPreserveLastError = (fResult == FALSE);
  2666.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2667.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2668.             if (fPreserveLastError)
  2669.                 SetLastError(dwLastError);
  2670.         }
  2671.     }
  2672.     return fResult;
  2673. }
  2674. ISOLATION_AWARE_INLINE HRESULT WINAPI IsolationAwareUninitializeFlatSB(HWND unnamed1)
  2675. {
  2676.     HRESULT result = S_OK;
  2677.     typedef HRESULT (WINAPI* PFN)(HWND unnamed1);
  2678.     static PFN s_pfn;
  2679.     ULONG_PTR  ulpCookie = 0;
  2680.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2681.     if (!fActivateActCtxSuccess)
  2682.         goto ExitWin32ToHresult;
  2683.     __try
  2684.     {
  2685.         if (s_pfn == NULL)
  2686.         {
  2687.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("UninitializeFlatSB");
  2688.             if (s_pfn == NULL)
  2689.                 goto ExitWin32ToHresult;
  2690.         }
  2691.         result = s_pfn(unnamed1);
  2692.     }
  2693.     __finally
  2694.     {
  2695.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2696.         {
  2697.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2698.         }
  2699.     }
  2700.     return result;
  2701. ExitWin32ToHresult:
  2702.     {
  2703.         DWORD dwLastError = GetLastError();
  2704.         if (dwLastError == NO_ERROR)
  2705.             dwLastError = ERROR_INTERNAL_ERROR;
  2706.         result = HRESULT_FROM_WIN32(dwLastError);
  2707.         return result;
  2708.     }
  2709. }
  2710. #if (_WIN32_IE >= 0x560)
  2711. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareSetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR dwRefData)
  2712. {
  2713.     BOOL fResult = FALSE;
  2714.     typedef BOOL (WINAPI* PFN)(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR dwRefData);
  2715.     static PFN s_pfn;
  2716.     ULONG_PTR  ulpCookie = 0;
  2717.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2718.     if (!fActivateActCtxSuccess)
  2719.         return fResult;
  2720.     __try
  2721.     {
  2722.         if (s_pfn == NULL)
  2723.         {
  2724.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("SetWindowSubclass");
  2725.             if (s_pfn == NULL)
  2726.                 __leave;
  2727.         }
  2728.         fResult = s_pfn(hWnd,pfnSubclass,uIdSubclass,dwRefData);
  2729.     }
  2730.     __finally
  2731.     {
  2732.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2733.         {
  2734.             const BOOL fPreserveLastError = (fResult == FALSE);
  2735.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2736.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2737.             if (fPreserveLastError)
  2738.                 SetLastError(dwLastError);
  2739.         }
  2740.     }
  2741.     return fResult;
  2742. }
  2743. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareGetWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR*pdwRefData)
  2744. {
  2745.     BOOL fResult = FALSE;
  2746.     typedef BOOL (WINAPI* PFN)(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass,DWORD_PTR*pdwRefData);
  2747.     static PFN s_pfn;
  2748.     ULONG_PTR  ulpCookie = 0;
  2749.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2750.     if (!fActivateActCtxSuccess)
  2751.         return fResult;
  2752.     __try
  2753.     {
  2754.         if (s_pfn == NULL)
  2755.         {
  2756.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("GetWindowSubclass");
  2757.             if (s_pfn == NULL)
  2758.                 __leave;
  2759.         }
  2760.         fResult = s_pfn(hWnd,pfnSubclass,uIdSubclass,pdwRefData);
  2761.     }
  2762.     __finally
  2763.     {
  2764.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2765.         {
  2766.             const BOOL fPreserveLastError = (fResult == FALSE);
  2767.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2768.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2769.             if (fPreserveLastError)
  2770.                 SetLastError(dwLastError);
  2771.         }
  2772.     }
  2773.     return fResult;
  2774. }
  2775. ISOLATION_AWARE_INLINE BOOL WINAPI IsolationAwareRemoveWindowSubclass(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass)
  2776. {
  2777.     BOOL fResult = FALSE;
  2778.     typedef BOOL (WINAPI* PFN)(HWND hWnd,SUBCLASSPROC pfnSubclass,UINT_PTR uIdSubclass);
  2779.     static PFN s_pfn;
  2780.     ULONG_PTR  ulpCookie = 0;
  2781.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2782.     if (!fActivateActCtxSuccess)
  2783.         return fResult;
  2784.     __try
  2785.     {
  2786.         if (s_pfn == NULL)
  2787.         {
  2788.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("RemoveWindowSubclass");
  2789.             if (s_pfn == NULL)
  2790.                 __leave;
  2791.         }
  2792.         fResult = s_pfn(hWnd,pfnSubclass,uIdSubclass);
  2793.     }
  2794.     __finally
  2795.     {
  2796.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2797.         {
  2798.             const BOOL fPreserveLastError = (fResult == FALSE);
  2799.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2800.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2801.             if (fPreserveLastError)
  2802.                 SetLastError(dwLastError);
  2803.         }
  2804.     }
  2805.     return fResult;
  2806. }
  2807. #endif /* (_WIN32_IE >= 0x560) */
  2808. ISOLATION_AWARE_INLINE LRESULT WINAPI IsolationAwareDefSubclassProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
  2809. {
  2810.     LRESULT result = 0 ;
  2811.     typedef LRESULT (WINAPI* PFN)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
  2812.     static PFN s_pfn;
  2813.     ULONG_PTR  ulpCookie = 0;
  2814.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2815.     if (!fActivateActCtxSuccess)
  2816.         return result;
  2817.     __try
  2818.     {
  2819.         if (s_pfn == NULL)
  2820.         {
  2821.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("DefSubclassProc");
  2822.             if (s_pfn == NULL)
  2823.                 __leave;
  2824.         }
  2825.         result = s_pfn(hWnd,uMsg,wParam,lParam);
  2826.     }
  2827.     __finally
  2828.     {
  2829.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2830.         {
  2831.             const BOOL fPreserveLastError = (result == 0 );
  2832.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2833.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2834.             if (fPreserveLastError)
  2835.                 SetLastError(dwLastError);
  2836.         }
  2837.     }
  2838.     return result;
  2839. }
  2840. ISOLATION_AWARE_INLINE int WINAPI IsolationAwareDrawShadowText(HDC hdc,LPCWSTR pszText,UINT cch,RECT*prc,DWORD dwFlags,COLORREF crText,COLORREF crShadow,int ixOffset,int iyOffset)
  2841. {
  2842.     int nResult = -1;
  2843.     typedef int (WINAPI* PFN)(HDC hdc,LPCWSTR pszText,UINT cch,RECT*prc,DWORD dwFlags,COLORREF crText,COLORREF crShadow,int ixOffset,int iyOffset);
  2844.     static PFN s_pfn;
  2845.     ULONG_PTR  ulpCookie = 0;
  2846.     const BOOL fActivateActCtxSuccess = IsolationAwarePrivateG_FqbjaLEiEL || IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2847.     if (!fActivateActCtxSuccess)
  2848.         return nResult;
  2849.     __try
  2850.     {
  2851.         if (s_pfn == NULL)
  2852.         {
  2853.             s_pfn = (PFN)CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL("DrawShadowText");
  2854.             if (s_pfn == NULL)
  2855.                 __leave;
  2856.         }
  2857.         nResult = s_pfn(hdc,pszText,cch,prc,dwFlags,crText,crShadow,ixOffset,iyOffset);
  2858.     }
  2859.     __finally
  2860.     {
  2861.         if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2862.         {
  2863.             const BOOL fPreserveLastError = (nResult == -1);
  2864.             const DWORD dwLastError = fPreserveLastError ? GetLastError() : NO_ERROR;
  2865.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2866.             if (fPreserveLastError)
  2867.                 SetLastError(dwLastError);
  2868.         }
  2869.     }
  2870.     return nResult;
  2871. }
  2872. ISOLATION_AWARE_INLINE FARPROC WINAPI CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL(LPCSTR pszProcName)
  2873. /* This function is shared by the other stubs in this header. */
  2874. {
  2875.     FARPROC proc = NULL;
  2876.     static HMODULE s_module;
  2877.     BOOL fActivateActCtxSuccess = FALSE;
  2878.     ULONG_PTR ulpCookie = 0;
  2879.     __try
  2880.     {
  2881.         if (s_module == NULL)
  2882.         {
  2883.             if (!IsolationAwarePrivateG_FqbjaLEiEL)
  2884.             {
  2885.                 fActivateActCtxSuccess = IsolationAwarePrivatenCgIiAgEzlnCgpgk(&ulpCookie);
  2886.                 if (!fActivateActCtxSuccess)
  2887.                     __leave;
  2888.             }
  2889.             s_module = LoadLibraryW(L"Comctl32.dll");
  2890.             if (s_module == NULL)
  2891.             {
  2892.                 if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
  2893.                     __leave;
  2894.                 s_module = LoadLibraryA("Comctl32.dll");
  2895.                 if (s_module == NULL)
  2896.                     __leave;
  2897.             }
  2898.         }
  2899.         proc = GetProcAddress(s_module, pszProcName);
  2900.     }
  2901.     __finally
  2902.     {
  2903.         if (!IsolationAwarePrivateG_FqbjaLEiEL && fActivateActCtxSuccess)
  2904.         {
  2905.             const DWORD dwLastError = (proc == NULL) ? GetLastError() : NO_ERROR;
  2906.             (void)IsolationAwareDeactivateActCtx(0, ulpCookie);
  2907.             if (proc == NULL)
  2908.                 SetLastError(dwLastError);
  2909.         }
  2910.     }
  2911.     return proc;
  2912. }
  2913. #define CreateMappedBitmap IsolationAwareCreateMappedBitmap
  2914. #define CreateStatusWindowA IsolationAwareCreateStatusWindowA
  2915. #define CreateStatusWindowW IsolationAwareCreateStatusWindowW
  2916. #define CreateToolbarEx IsolationAwareCreateToolbarEx
  2917. #define CreateUpDownControl IsolationAwareCreateUpDownControl
  2918. #define DefSubclassProc IsolationAwareDefSubclassProc
  2919. #define DrawInsert IsolationAwareDrawInsert
  2920. #define DrawShadowText IsolationAwareDrawShadowText
  2921. #define DrawStatusTextA IsolationAwareDrawStatusTextA
  2922. #define DrawStatusTextW IsolationAwareDrawStatusTextW
  2923. #define FlatSB_EnableScrollBar IsolationAwareFlatSB_EnableScrollBar
  2924. #define FlatSB_GetScrollInfo IsolationAwareFlatSB_GetScrollInfo
  2925. #define FlatSB_GetScrollPos IsolationAwareFlatSB_GetScrollPos
  2926. #define FlatSB_GetScrollProp IsolationAwareFlatSB_GetScrollProp
  2927. #if defined(FlatSB_GetScrollPropPtr)
  2928. #undef FlatSB_GetScrollPropPtr
  2929. #endif
  2930. #define FlatSB_GetScrollPropPtr IsolationAwareFlatSB_GetScrollPropPtr
  2931. #define FlatSB_GetScrollRange IsolationAwareFlatSB_GetScrollRange
  2932. #define FlatSB_SetScrollInfo IsolationAwareFlatSB_SetScrollInfo
  2933. #define FlatSB_SetScrollPos IsolationAwareFlatSB_SetScrollPos
  2934. #define FlatSB_SetScrollProp IsolationAwareFlatSB_SetScrollProp
  2935. #define FlatSB_SetScrollRange IsolationAwareFlatSB_SetScrollRange
  2936. #define FlatSB_ShowScrollBar IsolationAwareFlatSB_ShowScrollBar
  2937. #define GetEffectiveClientRect IsolationAwareGetEffectiveClientRect
  2938. #define GetMUILanguage IsolationAwareGetMUILanguage
  2939. #define GetWindowSubclass IsolationAwareGetWindowSubclass
  2940. #define ImageList_Add IsolationAwareImageList_Add
  2941. #define ImageList_AddMasked IsolationAwareImageList_AddMasked
  2942. #define ImageList_BeginDrag IsolationAwareImageList_BeginDrag
  2943. #define ImageList_Copy IsolationAwareImageList_Copy
  2944. #define ImageList_Create IsolationAwareImageList_Create
  2945. #define ImageList_Destroy IsolationAwareImageList_Destroy
  2946. #define ImageList_DragEnter IsolationAwareImageList_DragEnter
  2947. #define ImageList_DragLeave IsolationAwareImageList_DragLeave
  2948. #define ImageList_DragMove IsolationAwareImageList_DragMove
  2949. #define ImageList_DragShowNolock IsolationAwareImageList_DragShowNolock
  2950. #define ImageList_Draw IsolationAwareImageList_Draw
  2951. #define ImageList_DrawEx IsolationAwareImageList_DrawEx
  2952. #define ImageList_DrawIndirect IsolationAwareImageList_DrawIndirect
  2953. #define ImageList_Duplicate IsolationAwareImageList_Duplicate
  2954. #define ImageList_EndDrag IsolationAwareImageList_EndDrag
  2955. #define ImageList_GetBkColor IsolationAwareImageList_GetBkColor
  2956. #define ImageList_GetDragImage IsolationAwareImageList_GetDragImage
  2957. #define ImageList_GetIcon IsolationAwareImageList_GetIcon
  2958. #define ImageList_GetIconSize IsolationAwareImageList_GetIconSize
  2959. #define ImageList_GetImageCount IsolationAwareImageList_GetImageCount
  2960. #define ImageList_GetImageInfo IsolationAwareImageList_GetImageInfo
  2961. #define ImageList_LoadImageA IsolationAwareImageList_LoadImageA
  2962. #define ImageList_LoadImageW IsolationAwareImageList_LoadImageW
  2963. #define ImageList_Merge IsolationAwareImageList_Merge
  2964. #define ImageList_Read IsolationAwareImageList_Read
  2965. #define ImageList_ReadEx IsolationAwareImageList_ReadEx
  2966. #define ImageList_Remove IsolationAwareImageList_Remove
  2967. #define ImageList_Replace IsolationAwareImageList_Replace
  2968. #define ImageList_ReplaceIcon IsolationAwareImageList_ReplaceIcon
  2969. #define ImageList_SetBkColor IsolationAwareImageList_SetBkColor
  2970. #define ImageList_SetDragCursorImage IsolationAwareImageList_SetDragCursorImage
  2971. #define ImageList_SetIconSize IsolationAwareImageList_SetIconSize
  2972. #define ImageList_SetImageCount IsolationAwareImageList_SetImageCount
  2973. #define ImageList_SetOverlayImage IsolationAwareImageList_SetOverlayImage
  2974. #define ImageList_Write IsolationAwareImageList_Write
  2975. #define ImageList_WriteEx IsolationAwareImageList_WriteEx
  2976. #define InitCommonControls IsolationAwareInitCommonControls
  2977. #define InitCommonControlsEx IsolationAwareInitCommonControlsEx
  2978. #define InitMUILanguage IsolationAwareInitMUILanguage
  2979. #define InitializeFlatSB IsolationAwareInitializeFlatSB
  2980. #define LBItemFromPt IsolationAwareLBItemFromPt
  2981. #define MakeDragList IsolationAwareMakeDragList
  2982. #define MenuHelp IsolationAwareMenuHelp
  2983. #define RemoveWindowSubclass IsolationAwareRemoveWindowSubclass
  2984. #define SetWindowSubclass IsolationAwareSetWindowSubclass
  2985. #define ShowHideMenuCtl IsolationAwareShowHideMenuCtl
  2986. #define UninitializeFlatSB IsolationAwareUninitializeFlatSB
  2987. #define _TrackMouseEvent IsolationAware_TrackMouseEvent
  2988. #endif /* ISOLATION_AWARE_ENABLED */
  2989. #endif /* RC */
  2990. #ifdef __cplusplus
  2991. }
  2992. #endif
  2993. #endif
  2994. #endif  // _INC_COMMCTRL