Strange comctl32.dll loading / unloading at application startup

When I run the program in the debugger trace, I see this:

'VideoPhillPlayer.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Unloaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Unloaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Unloaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 'VideoPhillPlayer.exe': Unloaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll' 

This is just a snippet. It continues 100 lines at a time ...

Can someone explain why ???

EDIT:

I run x86 code under x64 Windows and also get this in the trace window:

 'VideoPhillPlayer.exe': Loaded 'ImageAtBase0x504b0000', No symbols loaded. 'VideoPhillPlayer.exe': Loaded 'ImageAtBase0x5720000', No symbols loaded. 'VideoPhillPlayer.exe': Unloaded 'ImageAtBase0x504b0000' 'VideoPhillPlayer.exe': Loaded 'ImageAtBase0x54610000', No symbols loaded. 'VideoPhillPlayer.exe': Loaded 'ImageAtBase0x65c0000', No symbols loaded. 'VideoPhillPlayer.exe': Unloaded 'ImageAtBase0x54610000' 
+8
winforms
source share
1 answer

This article has general information about ComCtl32.dll. In short, there is nothing to worry about. This is a DLL that contains the user interface components for Windows and therefore is used universally for Windows applications: ComCtl is not suitable for regular controls. You see it loading and unloading because various windows and other controls in your application use their functions.

For those who want a more thorough answer, you can run

 dumpbin /exports C:\Windows\System32\ComCtl32.dll 

to get most of the functions exported by the DLL. For those who are both curious and lazy, here it is - you can see that it just contains various utility functions for Windows controls:

 Dump of file C:\Windows\System32\comctl32.dll File Type: DLL Section contains the following exports for COMCTL32.dll 00000000 characteristics 4CE779FD time date stamp Sat Nov 20 02:34:21 2010 0.00 version 2 ordinal base 420 number of functions 119 number of names ordinal hint RVA name 401 0 0000912C AddMRUStringW 400 1 00008F94 CreateMRUListW 8 2 00009F9C CreateMappedBitmap 12 3 0000CD80 CreatePropertySheetPage 18 4 0000CD80 CreatePropertySheetPageA 19 5 0000CD70 CreatePropertySheetPageW 20 6 00014AC8 CreateStatusWindow 6 7 00014AC8 CreateStatusWindowA 21 8 00014A64 CreateStatusWindowW 7 9 00016190 CreateToolbar 22 A 00016028 CreateToolbarEx 16 B 0001FC64 CreateUpDownControl 331 C 00020C54 DPA_Clone 328 D 00020B98 DPA_Create 340 E 00020BA8 DPA_CreateEx 337 F 00020FCC DPA_DeleteAllPtrs 336 10 00020F0C DPA_DeletePtr 329 11 00020C0C DPA_Destroy 386 12 00021080 DPA_DestroyCallback 385 13 00021014 DPA_EnumCallback 332 14 00020CDC DPA_GetPtr 333 15 00020D00 DPA_GetPtrIndex 330 16 00020D40 DPA_Grow 334 17 00020E80 DPA_InsertPtr 9 18 00021258 DPA_LoadStream 11 19 00021408 DPA_Merge 10 1A 000210A4 DPA_SaveStream 339 1B 00021810 DPA_Search 335 1C 00020DFC DPA_SetPtr 338 1D 000215D8 DPA_Sort 320 1E 00020790 DSA_Create 327 1F 00020B58 DSA_DeleteAllItems 326 20 00020AB4 DSA_DeleteItem 321 21 000207D8 DSA_Destroy 388 22 00020898 DSA_DestroyCallback 387 23 0002082C DSA_EnumCallback 322 24 000208BC DSA_GetItem 323 25 000208F8 DSA_GetItemPtr 324 26 000209E8 DSA_InsertItem 325 27 00020914 DSA_SetItem 413 28 00022318 DefSubclassProc 23 29 0000C378 DestroyPropertySheetPage 24 2A 0007E480 DllGetVersion 15 2B 000230F8 DrawInsert 25 2C 00012EFC DrawStatusText 5 2D 00012EFC DrawStatusTextA 26 2E 00012ED0 DrawStatusTextW 403 2F 000099B0 EnumMRUListW 27 30 00025980 FlatSB_EnableScrollBar 28 31 000255BC FlatSB_GetScrollInfo 29 32 000252C8 FlatSB_GetScrollPos 30 33 000254D8 FlatSB_GetScrollProp 31 34 0002533C FlatSB_GetScrollPropPtr 32 35 00025508 FlatSB_GetScrollRange 33 36 000268C4 FlatSB_SetScrollInfo 34 37 000266F0 FlatSB_SetScrollPos 35 38 000269D0 FlatSB_SetScrollProp 36 39 00026790 FlatSB_SetScrollRange 37 3A 000256CC FlatSB_ShowScrollBar 152 3B 0000906C FreeMRUList 4 3C 000270D8 GetEffectiveClientRect 38 3D 00027650 GetMUILanguage 39 3E 000784B0 ImageList_Add 40 3F 00078158 ImageList_AddIcon 41 40 000786E8 ImageList_AddMasked 42 41 00077C6C ImageList_BeginDrag 43 42 00078A2C ImageList_Copy 44 43 00077EB8 ImageList_Create 45 44 000783C4 ImageList_Destroy 46 45 00077CE0 ImageList_DragEnter 47 46 00077D58 ImageList_DragLeave 48 47 00077D20 ImageList_DragMove 49 48 00077D8C ImageList_DragShowNolock 50 49 00078840 ImageList_Draw 51 4A 00078748 ImageList_DrawEx 52 4B 00078914 ImageList_DrawIndirect 53 4C 0007820C ImageList_Duplicate 54 4D 00077C18 ImageList_EndDrag 55 4E 000785C4 ImageList_GetBkColor 56 4F 00077BD0 ImageList_GetDragImage 57 50 00078D60 ImageList_GetFlags 58 51 000789CC ImageList_GetIcon 59 52 00078AA0 ImageList_GetIconSize 60 53 0007840C ImageList_GetImageCount 61 54 00078B74 ImageList_GetImageInfo 62 55 0007835C ImageList_GetImageRect 63 56 00077F74 ImageList_LoadImage 64 57 00077F74 ImageList_LoadImageA 65 58 00078020 ImageList_LoadImageW 66 59 00078BD8 ImageList_Merge 67 5A 000782C8 ImageList_Read 68 5B 00078978 ImageList_Remove 69 5C 00078674 ImageList_Replace 70 5D 00078510 ImageList_ReplaceIcon 75 5E 00078570 ImageList_SetBkColor 76 5F 00077B4C ImageList_SetDragCursorImage 77 60 00079FF8 ImageList_SetFilter 78 61 00078C98 ImageList_SetFlags 79 62 00078B0C ImageList_SetIconSize 80 63 00078458 ImageList_SetImageCount 81 64 00078610 ImageList_SetOverlayImage 82 65 00078260 ImageList_Write 17 66 0002751C InitCommonControls 83 67 00027528 InitCommonControlsEx 84 68 00027618 InitMUILanguage 85 69 000233F4 InitializeFlatSB 14 6A 00022FA0 LBItemFromPt 13 6B 00022F0C MakeDragList 2 6C 00026DA8 MenuHelp 86 6D 00012820 PropertySheet 87 6E 00012820 PropertySheetA 88 6F 00012810 PropertySheetW 89 70 00027660 RegisterClassNameW 412 71 00022244 RemoveWindowSubclass 410 72 00022138 SetWindowSubclass 3 73 00026FD0 ShowHideMenuCtl 236 74 00021B38 Str_SetPtrW 90 75 00023260 UninitializeFlatSB 91 76 0002BF50 _TrackMouseEvent 71 00009BF0 [NONAME] 72 00009C08 [NONAME] 73 00009C38 [NONAME] 74 00009C58 [NONAME] 151 00009058 [NONAME] 153 000093B0 [NONAME] 154 00009A74 [NONAME] 155 00009948 [NONAME] 156 000093FC [NONAME] 157 00008FA8 [NONAME] 163 0000CABC [NONAME] 164 00012610 [NONAME] 167 000094E8 [NONAME] 169 0000971C [NONAME] 233 000219BC [NONAME] 234 00021BBC [NONAME] 235 00021918 [NONAME] 341 00028BD4 [NONAME] 342 00027A44 [NONAME] 350 [NONAME] (forwarded to SHUNIMPL.#78) 351 [NONAME] (forwarded to SHUNIMPL.#79) 352 [NONAME] (forwarded to SHUNIMPL.#80) 353 [NONAME] (forwarded to SHUNIMPL.#81) 354 [NONAME] (forwarded to SHUNIMPL.#82) 355 [NONAME] (forwarded to SHUNIMPL.#83) 356 [NONAME] (forwarded to SHUNIMPL.#84) 357 [NONAME] (forwarded to SHUNIMPL.#85) 358 [NONAME] (forwarded to SHUNIMPL.#86) 359 [NONAME] (forwarded to SHUNIMPL.#87) 360 [NONAME] (forwarded to SHUNIMPL.#88) 361 [NONAME] (forwarded to SHUNIMPL.#89) 362 [NONAME] (forwarded to SHUNIMPL.#90) 363 [NONAME] (forwarded to SHUNIMPL.#91) 364 [NONAME] (forwarded to SHUNIMPL.#92) 365 [NONAME] (forwarded to SHUNIMPL.#93) 366 [NONAME] (forwarded to SHUNIMPL.#94) 367 [NONAME] (forwarded to SHUNIMPL.#95) 368 [NONAME] (forwarded to SHUNIMPL.#96) 369 [NONAME] (forwarded to SHUNIMPL.#97) 372 [NONAME] (forwarded to SHUNIMPL.#98) 373 [NONAME] (forwarded to SHUNIMPL.#99) 374 [NONAME] (forwarded to SHUNIMPL.#100) 375 [NONAME] (forwarded to SHUNIMPL.#101) 376 [NONAME] (forwarded to SHUNIMPL.#102) 377 [NONAME] (forwarded to SHUNIMPL.#103) 382 0000AF70 [NONAME] 383 000228E0 [NONAME] 384 0002B5C0 [NONAME] 389 00079FF8 [NONAME] 390 00078CEC [NONAME] 402 0000980C [NONAME] 404 00008B00 [NONAME] 411 00022098 [NONAME] 414 000276E8 [NONAME] 415 000719C0 [NONAME] 416 00071998 [NONAME] 417 00071904 [NONAME] 418 000718C0 [NONAME] 419 000718D0 [NONAME] 420 000718D0 [NONAME] 421 00071968 [NONAME] Summary 4000 .data 5000 .pdata 1000 .reloc 7000 .rsrc 8E000 .text 
0
source share

All Articles