name	comctl32
type	win32

# Functions exported by the Win95 comctl32.dll 
# (these need to have these exact ordinals, because some win95 dlls 
#  import comctl32.dll by ordinal)
#   This list was created from a comctl32.dll v4.72 (IE4.01).

  2 stdcall MenuHelp(long long long long long long ptr) MenuHelp
  3 stdcall ShowHideMenuCtl(long long ptr) ShowHideMenuCtl
  4 stdcall GetEffectiveClientRect(long long long) GetEffectiveClientRect
  5 stdcall DrawStatusTextA(long ptr str long) DrawStatusText32A
  6 stdcall CreateStatusWindowA(long str long long) CreateStatusWindow32A
  7 stdcall CreateToolbar(long long long long long long ptr long) CreateToolbar
  8 stdcall CreateMappedBitmap(long long long ptr long) CreateMappedBitmap
  9 stub COMCTL32_9
 10 stub COMCTL32_10
 11 stub COMCTL32_11
 12 stub Cctl1632_ThunkData32
 13 stub MakeDragList
 14 stub LBItemFromPt
 15 stub DrawInsert
 16 stdcall CreateUpDownControl(long long long long long long long long long long long long) CreateUpDownControl
 17 stdcall InitCommonControls() InitCommonControls
 18 stub CreatePropertySheetPage
 19 stub CreatePropertySheetPageA
 20 stub CreatePropertySheetPageW
 21 stdcall CreateStatusWindow(long str long long) CreateStatusWindow32A
 22 stdcall CreateStatusWindowW(long wstr long long) CreateStatusWindow32W
 23 stdcall CreateToolbarEx(long long long long long long ptr long long long long long long) CreateToolbarEx
 24 stub DestroyPropertySheetPage
 25 stdcall DllGetVersion(ptr) COMCTL32_DllGetVersion
 26 stub DllInstall
 27 stdcall DrawStatusText(long ptr str long) DrawStatusText32A
 28 stdcall DrawStatusTextW(long ptr wstr long) DrawStatusText32W
 29 stub FlatSB_EnableScrollBar
 30 stub FlatSB_GetScrollInfo
 31 stub FlatSB_GetScrollPos
 32 stub FlatSB_GetScrollProp
 33 stub FlatSB_GetScrollRange
 34 stub FlatSB_SetScrollInfo
 35 stub FlatSB_SetScrollPos
 36 stub FlatSB_SetScrollProp
 37 stub FlatSB_SetScrollRange
 38 stub FlatSB_ShowScrollBar
 39 stdcall ImageList_Add(ptr long long) ImageList_Add
 40 stdcall ImageList_AddIcon(ptr long) ImageList_AddIcon
 41 stdcall ImageList_AddMasked(ptr long long) ImageList_AddMasked
 42 stdcall ImageList_BeginDrag(ptr long long long) ImageList_BeginDrag
 43 stdcall ImageList_Copy(ptr long ptr long long) ImageList_Copy
 44 stdcall ImageList_Create(long long long long long) ImageList_Create
 45 stdcall ImageList_Destroy(ptr) ImageList_Destroy
 46 stdcall ImageList_DragEnter(long long long) ImageList_DragEnter
 47 stdcall ImageList_DragLeave(long) ImageList_DragLeave
 48 stdcall ImageList_DragMove(long long) ImageList_DragMove
 49 stdcall ImageList_DragShowNolock(long) ImageList_DragShowNolock
 50 stdcall ImageList_Draw(ptr long long long long long) ImageList_Draw
 51 stdcall ImageList_DrawEx(ptr long long long long long long long long long) ImageList_DrawEx
 52 stdcall ImageList_DrawIndirect(ptr) ImageList_DrawIndirect
 53 stdcall ImageList_Duplicate(ptr) ImageList_Duplicate
 54 stdcall ImageList_EndDrag() ImageList_EndDrag 
 55 stdcall ImageList_GetBkColor(ptr) ImageList_GetBkColor
 56 stdcall ImageList_GetDragImage(ptr ptr) ImageList_GetDragImage
 57 stdcall ImageList_GetIcon(ptr long long) ImageList_GetIcon
 58 stdcall ImageList_GetIconSize(ptr ptr ptr) ImageList_GetIconSize
 59 stdcall ImageList_GetImageCount(ptr) ImageList_GetImageCount
 60 stdcall ImageList_GetImageInfo(ptr long ptr) ImageList_GetImageInfo
 61 stdcall ImageList_GetImageRect(ptr long ptr) ImageList_GetImageRect
 63 stdcall ImageList_LoadImage(long str long long long long long) ImageList_LoadImage32A
 63 stdcall ImageList_LoadImageA(long str long long long long long) ImageList_LoadImage32A
 64 stdcall ImageList_LoadImageW(long wstr long long long long long) ImageList_LoadImage32W
 65 stdcall ImageList_Merge(ptr long ptr long long long) ImageList_Merge
 66 stdcall ImageList_Read(ptr) ImageList_Read
 67 stdcall ImageList_Remove(ptr long) ImageList_Remove
 68 stdcall ImageList_Replace(ptr long long long) ImageList_Replace
 69 stdcall ImageList_ReplaceIcon(ptr long long) ImageList_ReplaceIcon
 70 stdcall ImageList_SetBkColor(ptr long) ImageList_SetBkColor
 71 stdcall Alloc(long) COMCTL32_Alloc
 72 stdcall ReAlloc(long long) COMCTL32_ReAlloc
 73 stdcall Free(long) COMCTL32_Free
 74 stdcall GetSize(long) COMCTL32_GetSize
 75 stdcall ImageList_SetDragCursorImage(ptr long long long) ImageList_SetDragCursorImage
 76 stdcall ImageList_SetFilter(ptr long long) ImageList_SetFilter
 77 stdcall ImageList_SetIconSize(ptr long long) ImageList_SetIconSize
 78 stdcall ImageList_SetImageCount(ptr long) ImageList_SetImageCount
 79 stdcall ImageList_SetOverlayImage(ptr long long) ImageList_SetOverlayImage
 80 stdcall ImageList_Write(ptr ptr) ImageList_Write
 81 stdcall InitCommonControlsEx(ptr) InitCommonControlsEx
 82 stub InitializeFlatSB
 83 stub PropertySheet
 84 stub PropertySheetA
 85 stub PropertySheetW
 86 stub UninitializeFlatSB
 87 stub _TrackMouseEvent

151 stub CreateMRUList
152 stub FreeMRUList
153 stub AddMRUStringA
154 stub EnumMRUListA
155 stub FindMRUStringA
156 stub DelMRUString
157 stub COMCTL32_157

163 stub CreatePage
164 stub CreateProxyPage

167 stub AddMRUData
169 stub FindMRUData

233 stub Str_GetPtrA
234 stub Str_SetPtrA
235 stub Str_GetPtrW
236 stub Str_SetPtrW

320 stdcall DSA_Create(long long) DSA_Create
321 stdcall DSA_Destroy(long) DSA_Destroy
322 stdcall DSA_GetItem(long long long) DSA_GetItem
323 stdcall DSA_GetItemPtr(long long) DSA_GetItemPtr
324 stdcall DSA_InsertItem(long long long) DSA_InsertItem
325 stub DSA_SetItem
326 stdcall DSA_DeleteItem(long long) DSA_DeleteItem
327 stub DSA_DeleteAllItems

328 stdcall DPA_Create(long) DPA_Create
329 stub DPA_Destroy
330 stub DPA_Grow
331 stub DPA_Clone
332 stdcall DPA_GetPtr(long long) DPA_GetPtr
333 stub DPA_GetPtrIndex
334 stdcall DPA_InsertPtr(long long long) DPA_InsertPtr
335 stub DPA_SetPtr
336 stub DPA_DeletePtr
337 stub DPA_DeleteAllPtrs
338 stub DPA_Sort
339 stub DPA_Search
340 stdcall DPA_CreateEx(long long) DPA_CreateEx
341 stdcall SendNotify(long long long long) COMCTL32_SendNotify
342 stub SendNotifyEx

350 stdcall StrChrA(str str) COMCTL32_StrChrA
351 stub StrRChrA
352 stub StrCmpNA
353 stub StrCmpNIA
354 stub StrStrA
355 stdcall StrStrIA(str str) COMCTL32_StrStrIA
356 stub StrCSpnA
357 stdcall StrToIntA(str) COMCTL32_StrToIntA
358 stub StrChrW
359 stub StrRChrW
360 stub StrCmpNW
361 stub StrCmpNIW
362 stub StrStrW
363 stub StrStrIW
364 stub StrSpnW
365 stub StrToIntW
366 stub StrChrIA
367 stub StrChrIW
368 stub StrRChrIA
369 stub StrRChrIW

372 stub StrRStrIA
373 stub StrRStrIW
374 stub StrCSpnIA
375 stub StrCSpnIW
376 stub IntlStrEqWorkerA
377 stub IntlStrEqWorkerW

382 stub SmoothScrollWindow
383 stub DoReaderMode
384 stub SetPathWordBreakProc
385 stub COMCTL32_385
386 stub COMCTL32_386
387 stub COMCTL32_387
388 stub COMCTL32_388
389 stub COMCTL32_389
390 stub COMCTL32_390

400 stub COMCTL32_400
401 stub COMCTL32_401
402 stub COMCTL32_402
403 stub COMCTL32_403
404 stub COMCTL32_404

410 stub COMCTL32_410
411 stub COMCTL32_411
412 stub COMCTL32_412
413 stub COMCTL32_413

