Re: Lots of symbols in comctl32 are exported by ordinal only

Andrew Stadt <[email protected]> Thu, 23 Oct 2003 15:57:31 -0400
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <[email protected]>
Earnie Boyd wrote:

> Filip Navara wrote:
>
>>> But the NONAME tag has no significant effect on the import lib -- the
>>> symbol names are still in the imp lib, just hidden in the dll itself.
>>> Run-time linking
>>> doesn't use the import lib, so why should it affect that?
>>
>>
>>
>> The comctl32.dll exports some symbols by ordinal only and when you 
>> link with
>> current version of libcomctl32.a, it will search for eg. symbol 
>> DPA_Create,
>> which isn't present in the DLL and fail.
>>
>
> So it does, confirmed on my XP with perdr (perdr.sf.net).  But how can 
> we be assured that oridinal x on XP is the same oridinal x on 98?
>
> Earnie

If it could be of any help, I can supply the output of 'perdr 
--show-exports' from a W2K, Win95 & 98, and XP (home edition).
comctl32.exports (text/plain, 7.4 KB)
DLL: COMCTL32.dll
 Addr:0002E5CF hint:2(0002) Name:MenuHelp
 Addr:0002E74E hint:3(0003) Name:ShowHideMenuCtl
 Addr:00015FF8 hint:4(0004) Name:GetEffectiveClientRect
 Addr:000411F4 hint:5(0005) Name:DrawStatusTextA
 Addr:0004150E hint:6(0006) Name:CreateStatusWindowA
 Addr:00049916 hint:7(0007) Name:CreateToolbar
 Addr:0000C0A8 hint:8(0008) Name:CreateMappedBitmap
 Addr:0001AD74 Ordinal:9(0009)
 Addr:0001AC3E Ordinal:10(000A)
 Addr:0001AEBA Ordinal:11(000B)
 Addr:0003BF8D hint:12(000C) Name:CreatePropertySheetPage
 Addr:0001B451 hint:13(000D) Name:MakeDragList
 Addr:0001B4B7 hint:14(000E) Name:LBItemFromPt
 Addr:0001B5BF hint:15(000F) Name:DrawInsert
 Addr:00055BD1 hint:16(0010) Name:CreateUpDownControl
 Addr:000140A6 hint:17(0011) Name:InitCommonControls
 Addr:0003BF8D hint:18(0012) Name:CreatePropertySheetPageA
 Addr:0003BF7D hint:19(0013) Name:CreatePropertySheetPageW
 Addr:0004150E hint:20(0014) Name:CreateStatusWindow
 Addr:000414D8 hint:21(0015) Name:CreateStatusWindowW
 Addr:0000DA04 hint:22(0016) Name:CreateToolbarEx
 Addr:0003B886 hint:23(0017) Name:DestroyPropertySheetPage
 Addr:0005BD6A hint:24(0018) Name:DllGetVersion
 Addr:0001A5FE hint:25(0019) Name:DllInstall
 Addr:000411F4 hint:26(001A) Name:DrawStatusText
 Addr:00011E06 hint:27(001B) Name:DrawStatusTextW
 Addr:0001D690 hint:28(001C) Name:FlatSB_EnableScrollBar
 Addr:0001D387 hint:29(001D) Name:FlatSB_GetScrollInfo
 Addr:0001D158 hint:30(001E) Name:FlatSB_GetScrollPos
 Addr:0001D1AD hint:31(001F) Name:FlatSB_GetScrollProp
 Addr:0001D30C hint:32(0020) Name:FlatSB_GetScrollRange
 Addr:0001E20D hint:33(0021) Name:FlatSB_SetScrollInfo
 Addr:0001E0CA hint:34(0022) Name:FlatSB_SetScrollPos
 Addr:0001E2D6 hint:35(0023) Name:FlatSB_SetScrollProp
 Addr:0001E138 hint:36(0024) Name:FlatSB_SetScrollRange
 Addr:0001D44D hint:37(0025) Name:FlatSB_ShowScrollBar
 Addr:000196D4 hint:38(0026) Name:GetMUILanguage
 Addr:00021AE0 hint:39(0027) Name:ImageList_Add
 Addr:00022A55 hint:40(0028) Name:ImageList_AddIcon
 Addr:0000CBAE hint:41(0029) Name:ImageList_AddMasked
 Addr:00022F4E hint:42(002A) Name:ImageList_BeginDrag
 Addr:00021FE0 hint:43(002B) Name:ImageList_Copy
 Addr:0000884C hint:44(002C) Name:ImageList_Create
 Addr:000085C1 hint:45(002D) Name:ImageList_Destroy
 Addr:00023027 hint:46(002E) Name:ImageList_DragEnter
 Addr:00023081 hint:47(002F) Name:ImageList_DragLeave
 Addr:00022CD8 hint:48(0030) Name:ImageList_DragMove
 Addr:000230C8 hint:49(0031) Name:ImageList_DragShowNolock
 Addr:000168EA hint:50(0032) Name:ImageList_Draw
 Addr:00007EEB hint:51(0033) Name:ImageList_DrawEx
 Addr:000078E0 hint:52(0034) Name:ImageList_DrawIndirect
 Addr:000234D6 hint:53(0035) Name:ImageList_Duplicate
 Addr:000233E5 hint:54(0036) Name:ImageList_EndDrag
 Addr:00016A11 hint:55(0037) Name:ImageList_GetBkColor
 Addr:00023215 hint:56(0038) Name:ImageList_GetDragImage
 Addr:0002188E hint:57(0039) Name:ImageList_GetFlags
 Addr:00015E61 hint:58(003A) Name:ImageList_GetIcon
 Addr:0000CC04 hint:59(003B) Name:ImageList_GetIconSize
 Addr:0002176A hint:60(003C) Name:ImageList_GetImageCount
 Addr:0002291E hint:61(003D) Name:ImageList_GetImageInfo
 Addr:0002402F hint:62(003E) Name:ImageList_GetImageRect
 Addr:0002153B hint:63(003F) Name:ImageList_LoadImage
 Addr:0002153B hint:64(0040) Name:ImageList_LoadImageA
 Addr:00021593 hint:65(0041) Name:ImageList_LoadImageW
 Addr:0002371D hint:66(0042) Name:ImageList_Merge
 Addr:00023AA6 hint:67(0043) Name:ImageList_Read
 Addr:00021FAF hint:68(0044) Name:ImageList_Remove
 Addr:00021D76 hint:69(0045) Name:ImageList_Replace
 Addr:00013EE4 hint:70(0046) Name:ImageList_ReplaceIcon
 Addr:0000832C Ordinal:71(0047)
 Addr:000083CA Ordinal:72(0048)
 Addr:00005469 Ordinal:73(0049)
 Addr:0002E59F Ordinal:74(004A)
 Addr:00008C3D hint:75(004B) Name:ImageList_SetBkColor
 Addr:00023343 hint:76(004C) Name:ImageList_SetDragCursorImage
 Addr:00021670 hint:77(004D) Name:ImageList_SetFilter
 Addr:00021840 hint:78(004E) Name:ImageList_SetFlags
 Addr:00021808 hint:79(004F) Name:ImageList_SetIconSize
 Addr:00021780 hint:80(0050) Name:ImageList_SetImageCount
 Addr:00013F88 hint:81(0051) Name:ImageList_SetOverlayImage
 Addr:000238B1 hint:82(0052) Name:ImageList_Write
 Addr:00012D4E hint:83(0053) Name:InitCommonControlsEx
 Addr:000196B1 hint:84(0054) Name:InitMUILanguage
 Addr:0001B81E hint:85(0055) Name:InitializeFlatSB
 Addr:0003B52C hint:86(0056) Name:PropertySheet
 Addr:0003B52C hint:87(0057) Name:PropertySheetA
 Addr:0003B51E hint:88(0058) Name:PropertySheetW
 Addr:0001B6F8 hint:89(0059) Name:UninitializeFlatSB
 Addr:000110FB hint:90(005A) Name:_TrackMouseEvent
 Addr:0003694D Ordinal:151(0097)
 Addr:0000F32B Ordinal:152(0098)
 Addr:00036B0C Ordinal:153(0099)
 Addr:00036CD9 Ordinal:154(009A)
 Addr:00036CA3 Ordinal:155(009B)
 Addr:00036B3E Ordinal:156(009C)
 Addr:000368E3 Ordinal:157(009D)
 Addr:0003BDB8 Ordinal:163(00A3)
 Addr:0003B3A6 Ordinal:164(00A4)
 Addr:0000F3AF Ordinal:167(00A7)
 Addr:0000F52B Ordinal:169(00A9)
 Addr:0001B029 Ordinal:233(00E9)
 Addr:0001B07E Ordinal:234(00EA)
 Addr:00013A26 Ordinal:235(00EB)
 Addr:0000E64F Ordinal:236(00EC)
 Addr:00008C73 Ordinal:320(0140)
 Addr:000085F2 Ordinal:321(0141)
 Addr:0000BE80 Ordinal:322(0142)
 Addr:000044E0 Ordinal:323(0143)
 Addr:0000833B Ordinal:324(0144)
 Addr:0001AB54 Ordinal:325(0145)
 Addr:0000AF33 Ordinal:326(0146)
 Addr:0000E89C Ordinal:327(0147)
 Addr:00014171 Ordinal:328(0148)
 Addr:0000E20E Ordinal:329(0149)
 Addr:0000F69D Ordinal:330(014A)
 Addr:0001632B Ordinal:331(014B)
 Addr:00002DA0 Ordinal:332(014C)
 Addr:0001ABBF Ordinal:333(014D)
 Addr:0000E831 Ordinal:334(014E)
 Addr:00015CC5 Ordinal:335(014F)
 Addr:000135AE Ordinal:336(0150)
 Addr:0000E4B5 Ordinal:337(0151)
 Addr:00015AA5 Ordinal:338(0152)
 Addr:00016C62 Ordinal:339(0153)
 Addr:0000D8E1 Ordinal:340(0154)
 Addr:0001638B Ordinal:341(0155)
 Addr:000121B9 Ordinal:342(0156)
 Addr:00041ACE Ordinal:350(015E)
 Addr:00041AE8 Ordinal:351(015F)
 Addr:00041C8A Ordinal:352(0160)
 Addr:00041D54 Ordinal:353(0161)
 Addr:00041F06 Ordinal:354(0162)
 Addr:00041FE4 Ordinal:355(0163)
 Addr:00041BD4 Ordinal:356(0164)
 Addr:00019B57 Ordinal:357(0165)
 Addr:00004500 Ordinal:358(0166)
 Addr:00041B1A Ordinal:359(0167)
 Addr:00041CEE Ordinal:360(0168)
 Addr:000169CD Ordinal:361(0169)
 Addr:00041F49 Ordinal:362(016A)
 Addr:00042027 Ordinal:363(016B)
 Addr:00016746 Ordinal:364(016C)
 Addr:00013F49 Ordinal:365(016D)
 Addr:00041F8E Ordinal:366(016E)
 Addr:00041FBB Ordinal:367(016F)
 Addr:00041B4F Ordinal:368(0170)
 Addr:00041B96 Ordinal:369(0171)
 Addr:00041E23 Ordinal:372(0174)
 Addr:00041E91 Ordinal:373(0175)
 Addr:00041C0F Ordinal:374(0176)
 Addr:00041C4A Ordinal:375(0177)
 Addr:00041D98 Ordinal:376(0178)
 Addr:0000F597 Ordinal:377(0179)
 Addr:00019ED6 Ordinal:382(017E)
 Addr:0003C1FC Ordinal:383(017F)
 Addr:0001932D Ordinal:384(0180)
 Addr:0001ABF5 Ordinal:385(0181)
 Addr:0001AC21 Ordinal:386(0182)
 Addr:0001AB09 Ordinal:387(0183)
 Addr:0001AB37 Ordinal:388(0184)
 Addr:00036EFB Ordinal:389(0185)
 Addr:0002198C Ordinal:390(0186)
 Addr:0000F31A Ordinal:400(0190)
 Addr:0003695E Ordinal:401(0191)
 Addr:00036BD8 Ordinal:402(0192)
 Addr:0000F61D Ordinal:403(0193)
 Addr:000365EA Ordinal:404(0194)
 Addr:0004240A Ordinal:410(019A)
 Addr:000423BC Ordinal:411(019B)
 Addr:000424B2 Ordinal:412(019C)
 Addr:0004251C Ordinal:413(019D)
 Addr:00056403 Ordinal:414(019E)
 Addr:0005878A Ordinal:415(019F)
 Addr:000583F1 Ordinal:416(01A0)
 Addr:000575AD Ordinal:417(01A1)
 Addr:00056FD4 Ordinal:418(01A2)
 Addr:0005721F Ordinal:419(01A3)
 Addr:000572C6 Ordinal:420(01A4)
 Addr:000576A0 Ordinal:421(01A5)