Changeset 55 for trunk/src


Ignore:
Timestamp:
Jun 8, 1999, 11:44:28 AM (26 years ago)
Author:
achimha
Message:

* empty log message *

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comctl32/comctl32.def

    r44 r55  
    5151
    5252
    53   COMCTL32_Alloc     = _COMCTL32_Alloc@4        @71
    54   COMCTL32_ReAlloc   = _COMCTL32_ReAlloc@8      @72
    55   COMCTL32_Free      = _COMCTL32_Free@4         @73
    56   COMCTL32_GetSize   = _COMCTL32_GetSize@4      @74
     53  DPA_Merge           = _DPA_Merge@24              @11
    5754
    58   Str_GetPtrA        = _Str_GetPtrA@12          @233
    59   Str_SetPtrA        = _Str_SetPtrA@8           @234
    60   Str_GetPtrW        = _Str_GetPtrW@12          @235
    61   Str_SetPtrW        = _Str_SetPtrW@8           @236
     55  COMCTL32_Alloc      = _COMCTL32_Alloc@4          @71
     56  COMCTL32_ReAlloc    = _COMCTL32_ReAlloc@8        @72
     57  COMCTL32_Free       = _COMCTL32_Free@4           @73
     58  COMCTL32_GetSize    = _COMCTL32_GetSize@4        @74
    6259
    63   DSA_Create         = _DSA_Create@8            @320
    64   DSA_Destroy        = _DSA_Destroy@4           @321
    65   DSA_GetItem        = _DSA_GetItem@12          @322
    66   DSA_GetItemPtr     = _DSA_GetItemPtr@8        @323
    67   DSA_SetItem        = _DSA_SetItem@12          @324
    68   DSA_InsertItem     = _DSA_InsertItem@12       @325
    69   DSA_DeleteItem     = _DSA_DeleteItem@8        @326
    70   DSA_DeleteAllItems = _DSA_DeleteAllItems@4    @327
     60  CreateMRUListA      = _CreateMRUListA@4          @151
     61; ordinals????
     62  FreeMRUListA        = _FreeMRUListA@4            @152
     63  AddMRUData          = _AddMRUData@12             @153
     64  FindMRUData         = _FindMRUData@16            @154
     65  CreateMRUListLazyA  = _CreateMRUListLazyA@16     @155
    7166
    72   DPA_Create         = _DPA_Create@4            @328
    73   DPA_Destroy        = _DPA_Destroy@4           @329
    74   DPA_Grow           = _DPA_Grow@8              @330
    75   DPA_Clone          = _DPA_Clone@8             @331
    76   DPA_GetPtr         = _DPA_GetPtr@8            @332
    77   DPA_GetPtrIndex    = _DPA_GetPtrIndex@8       @333
    78   DPA_InsertPtr      = _DPA_InsertPtr@12        @334
    79   DPA_SetPtr         = _DPA_SetPtr@12           @335
    80   DPA_DeletePtr      = _DPA_DeletePtr@8         @336
    81   DPA_DeleteAllPtrs  = _DPA_DeleteAllPtrs@4     @337
    82   DPA_Sort           = _DPA_Sort@12             @338
    83   DPA_Search         = _DPA_Search@24           @339
    84   DPA_CreateEx       = _DPA_CreateEx@8          @440
     67  Str_GetPtrA         = _Str_GetPtrA@12            @233
     68  Str_SetPtrA         = _Str_SetPtrA@8             @234
     69  Str_GetPtrW         = _Str_GetPtrW@12            @235
     70  Str_SetPtrW         = _Str_SetPtrW@8             @236
     71
     72  DSA_Create          = _DSA_Create@8              @320
     73  DSA_Destroy         = _DSA_Destroy@4             @321
     74  DSA_GetItem         = _DSA_GetItem@12            @322
     75  DSA_GetItemPtr      = _DSA_GetItemPtr@8          @323
     76  DSA_SetItem         = _DSA_SetItem@12            @324
     77  DSA_InsertItem      = _DSA_InsertItem@12         @325
     78  DSA_DeleteItem      = _DSA_DeleteItem@8          @326
     79  DSA_DeleteAllItems  = _DSA_DeleteAllItems@4      @327
     80
     81  DPA_Create          = _DPA_Create@4              @328
     82  DPA_Destroy         = _DPA_Destroy@4             @329
     83  DPA_Grow            = _DPA_Grow@8                @330
     84  DPA_Clone           = _DPA_Clone@8               @331
     85  DPA_GetPtr          = _DPA_GetPtr@8              @332
     86  DPA_GetPtrIndex     = _DPA_GetPtrIndex@8         @333
     87  DPA_InsertPtr       = _DPA_InsertPtr@12          @334
     88  DPA_SetPtr          = _DPA_SetPtr@12             @335
     89  DPA_DeletePtr       = _DPA_DeletePtr@8           @336
     90  DPA_DeleteAllPtrs   = _DPA_DeleteAllPtrs@4       @337
     91  DPA_Sort            = _DPA_Sort@12               @338
     92  DPA_Search          = _DPA_Search@24             @339
     93  DPA_CreateEx        = _DPA_CreateEx@8            @440
     94
     95  SendNotify          = _COMCTL32_SendNotify@16    @341
     96  SendNotifyEx        = _COMCTL32_SendNotifyEx@20  @342
     97
     98  StrChrA             = _COMCTL32_StrChrA@8        @350
     99  StrStrIA            = _COMCTL32_StrStrIA@8       @355
     100  StrToIntA           = _COMCTL32_StrToIntA@4      @357
     101
     102  DPA_EnumCallback    = _DPA_EnumCallback@12       @385
     103  DPA_DestroyCallback = _DPA_DestroyCallback@12    @386
     104  DSA_EnumCallback    = _DSA_EnumCallback@12       @387
     105  DSA_DestroyCallback = _DSA_DestroyCallback@12    @388
  • trunk/src/comctl32/comctl32undoc.c

    r45 r55  
    1313#include "comctl32.h"
    1414#include <memory.h>
     15#include <string.h>
     16#include <stdlib.h>
     17#include <ctype.h>
    1518
    1619extern HANDLE COMCTL32_hHeap; /* handle to the private heap */
     20
     21/**************************************************************************
     22 * DPA_Merge [COMCTL32.11]
     23 *
     24 * PARAMS
     25 *     hdpa1    [I] handle to a dynamic pointer array
     26 *     hdpa2    [I] handle to a dynamic pointer array
     27 *     dwFlags  [I] flags
     28 *     pfnSort  [I] pointer to sort function
     29 *     dwParam5 [I]
     30 *     lParam   [I] application specific value
     31 *
     32 * NOTES
     33 *     No more information available yet!
     34 */
     35
     36BOOL WINAPI
     37DPA_Merge (const HDPA hdpa1, const HDPA hdpa2, DWORD dwFlags,
     38           PFNDPACOMPARE pfnCompare, LPVOID pfnParam5, LPARAM lParam)
     39{
     40    /* LPVOID *pWork1, *pWork2; */
     41    INT  nCount1, nCount2;
     42
     43//    TRACE (commctrl, "(%p %p %08lx %p %p %08lx): stub!\n",
     44//         hdpa1, hdpa2, dwFlags, pfnCompare, pfnParam5, lParam);
     45
     46    if (IsBadWritePtr (hdpa1, sizeof(DPA)))
     47        return FALSE;
     48
     49    if (IsBadWritePtr (hdpa2, sizeof(DPA)))
     50        return FALSE;
     51
     52    if (IsBadCodePtr ((FARPROC)pfnCompare))
     53        return FALSE;
     54
     55    if (IsBadCodePtr ((FARPROC)pfnParam5))
     56        return FALSE;
     57
     58    if (dwFlags & DPAM_SORT) {
     59//      TRACE (commctrl, "sorting dpa's!\n");
     60        DPA_Sort (hdpa1, pfnCompare, lParam);
     61        DPA_Sort (hdpa2, pfnCompare, lParam);
     62    }
     63
     64    if (hdpa2->nItemCount <= 0)
     65        return TRUE;
     66
     67    nCount1 = hdpa1->nItemCount - 1;
     68
     69    nCount2 = hdpa2->nItemCount - 1;
     70
     71//    FIXME (commctrl, "nCount1=%d nCount2=%d\n", nCount1, nCount2);
     72//    FIXME (commctrl, "semi stub!\n");
     73#if 0
     74
     75    do {
     76
     77
     78        if (nResult == 0) {
     79
     80        }
     81        else if (nResult > 0) {
     82
     83        }
     84        else {
     85
     86        }
     87
     88    }
     89    while (nCount2 >= 0);
     90
     91#endif
     92
     93
     94    return TRUE;
     95}
    1796
    1897
     
    111190    return HeapSize (COMCTL32_hHeap, 0, lpMem);
    112191}
     192
     193
     194/**************************************************************************
     195 * The MRU-API is a set of functions to manipulate MRU(Most Recently Used)
     196 * lists.
     197 *
     198 *
     199 */
     200
     201typedef struct tagMRUINFO
     202{
     203    DWORD  dwParam1;
     204    DWORD  dwParam2;
     205    DWORD  dwParam3;
     206    HKEY   hkeyMain;
     207    LPCSTR lpszSubKey;
     208    DWORD  dwParam6;
     209} MRUINFO, *LPMRUINFO;
     210
     211 
     212typedef struct tagMRU
     213{
     214    DWORD  dwParam1;  /* some kind of flag */
     215    DWORD  dwParam2;
     216    DWORD  dwParam3;
     217    HKEY   hkeyMRU;
     218    LPCSTR lpszSubKey;
     219    DWORD  dwParam6;
     220} MRU, *HMRU;
     221
     222LPVOID WINAPI
     223CreateMRUListLazyA (LPMRUINFO lpmi, DWORD dwParam2,
     224                    DWORD dwParam3, DWORD dwParam4);
     225
     226
     227/**************************************************************************
     228 * CreateMRUListA [COMCTL32.151]
     229 *
     230 * PARAMS
     231 *     dwParam
     232 *
     233 * RETURNS
     234 */
     235
     236LPVOID WINAPI
     237CreateMRUListA (LPMRUINFO lpmi)
     238{
     239     return CreateMRUListLazyA (lpmi, 0, 0, 0);
     240}
     241
     242
     243DWORD WINAPI
     244FreeMRUListA (HMRU hmru)
     245{
     246//    FIXME (commctrl, "(%p) empty stub!\n", hmru);
     247
     248#if 0
     249    if (!(hmru->dwParam1 & 1001)) {
     250        RegSetValueExA (hmru->hKeyMRU, "MRUList", 0, REG_SZ,
     251                          hmru->lpszMRUString,
     252                          lstrlenA (hmru->lpszMRUString));
     253    }
     254
     255
     256    RegClosKey (hmru->hkeyMRU
     257    COMCTL32_Free32 (hmru->lpszMRUString);
     258#endif
     259
     260    return COMCTL32_Free (hmru);
     261}
     262
     263
     264
     265DWORD WINAPI
     266AddMRUData (DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
     267{
     268
     269//    FIXME (commctrl, "(%lx %lx %lx) empty stub!\n",
     270//         dwParam1, dwParam2, dwParam3);
     271
     272    return 0;
     273}
     274
     275
     276DWORD WINAPI
     277FindMRUData (DWORD dwParam1, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
     278{
     279
     280//    FIXME (commctrl, "(%lx %lx %lx %lx) empty stub!\n",
     281//         dwParam1, dwParam2, dwParam3, dwParam4);
     282
     283    return TRUE;
     284}
     285
     286
     287LPVOID WINAPI
     288CreateMRUListLazyA (LPMRUINFO lpmi, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
     289{
     290    /* DWORD  dwLocal1;   *
     291     * HKEY   hkeyResult; *
     292     * DWORD  dwLocal3;   *
     293     * LPVOID lMRU;       *
     294     * DWORD  dwLocal5;   *
     295     * DWORD  dwLocal6;   *
     296     * DWORD  dwLocal7;   *
     297     * DWORD  dwDisposition; */
     298
     299    /* internal variables */
     300    LPVOID ptr;
     301
     302//    FIXME (commctrl, "(%p) empty stub!\n", lpmi);
     303
     304    if (lpmi) {
     305//      FIXME (commctrl, "(%lx %lx %lx %lx \"%s\" %lx)\n",
     306//             lpmi->dwParam1, lpmi->dwParam2, lpmi->dwParam3,
     307//             (DWORD)lpmi->hkeyMain, lpmi->lpszSubKey, lpmi->dwParam6);
     308    }
     309
     310    /* dummy pointer creation */
     311    ptr = COMCTL32_Alloc (32);
     312
     313//    FIXME (commctrl, "-- ret = %p\n", ptr);
     314
     315    return ptr;
     316}
     317
    113318
    114319
     
    12421447}
    12431448
     1449/**************************************************************************
     1450 * Notification functions
     1451 */
     1452
     1453typedef struct tagNOTIFYDATA
     1454{
     1455    HWND hwndFrom;
     1456    HWND hwndTo;
     1457    DWORD  dwParam3;
     1458    DWORD  dwParam4;
     1459    DWORD  dwParam5;
     1460    DWORD  dwParam6;
     1461} NOTIFYDATA, *LPNOTIFYDATA;
     1462
     1463
     1464/**************************************************************************
     1465 * DoNotify [Internal]
     1466 */
     1467
     1468static LRESULT
     1469DoNotify (LPNOTIFYDATA lpNotify, UINT uCode, LPNMHDR lpHdr)
     1470{
     1471    NMHDR nmhdr;
     1472    LPNMHDR lpNmh = NULL;
     1473    UINT idFrom = 0;
     1474
     1475//    TRACE (commctrl, "(0x%04x 0x%04x %d %p 0x%08lx)\n",
     1476//         lpNotify->hwndFrom, lpNotify->hwndTo, uCode, lpHdr,
     1477//         lpNotify->dwParam5);
     1478
     1479    if (!lpNotify->hwndTo)
     1480        return 0;
     1481
     1482    if (lpNotify->hwndFrom == -1) {
     1483        lpNmh = lpHdr;
     1484        idFrom = lpHdr->idFrom;
     1485    }
     1486    else {
     1487        if (lpNotify->hwndFrom) {
     1488            HWND hwndParent = GetParent (lpNotify->hwndFrom);
     1489            if (hwndParent) {
     1490                hwndParent = GetWindow (lpNotify->hwndFrom, GW_OWNER);
     1491                if (hwndParent)
     1492                    idFrom = GetDlgCtrlID (lpNotify->hwndFrom);
     1493            }
     1494        }
     1495
     1496        lpNmh = (lpHdr) ? lpHdr : &nmhdr;
     1497
     1498        lpNmh->hwndFrom = lpNotify->hwndFrom;
     1499        lpNmh->idFrom = idFrom;
     1500        lpNmh->code = uCode;
     1501    }
     1502
     1503    return SendMessageA (lpNotify->hwndTo, WM_NOTIFY, idFrom, (LPARAM)lpNmh);
     1504}
     1505
     1506
     1507/**************************************************************************
     1508 * SendNotify [COMCTL32.341]
     1509 *
     1510 * PARAMS
     1511 *     hwndFrom [I]
     1512 *     hwndTo   [I]
     1513 *     uCode    [I]
     1514 *     lpHdr    [I]
     1515 *
     1516 * RETURNS
     1517 *     Success: return value from notification
     1518 *     Failure: 0
     1519 */
     1520
     1521LRESULT WINAPI
     1522COMCTL32_SendNotify (HWND hwndFrom, HWND hwndTo,
     1523                     UINT uCode, LPNMHDR lpHdr)
     1524{
     1525    NOTIFYDATA notify;
     1526
     1527//    TRACE (commctrl, "(0x%04x 0x%04x %d %p)\n",
     1528//         hwndFrom, hwndTo, uCode, lpHdr);
     1529
     1530    notify.hwndFrom = hwndFrom;
     1531    notify.hwndTo   = hwndTo;
     1532    notify.dwParam5 = 0;
     1533    notify.dwParam6 = 0;
     1534
     1535    return DoNotify (&notify, uCode, lpHdr);
     1536}
     1537
     1538
     1539/**************************************************************************
     1540 * SendNotifyEx [COMCTL32.342]
     1541 *
     1542 * PARAMS
     1543 *     hwndFrom [I]
     1544 *     hwndTo   [I]
     1545 *     uCode    [I]
     1546 *     lpHdr    [I]
     1547 *     dwParam5 [I]
     1548 *
     1549 * RETURNS
     1550 *     Success: return value from notification
     1551 *     Failure: 0
     1552 */
     1553
     1554LRESULT WINAPI
     1555COMCTL32_SendNotifyEx (HWND hwndTo, HWND hwndFrom, UINT uCode,
     1556                       LPNMHDR lpHdr, DWORD dwParam5)
     1557{
     1558    NOTIFYDATA notify;
     1559    HWND hwndNotify;
     1560
     1561//    TRACE (commctrl, "(0x%04x 0x%04x %d %p 0x%08lx)\n",
     1562//         hwndFrom, hwndTo, uCode, lpHdr, dwParam5);
     1563
     1564    hwndNotify = hwndTo;
     1565    if (!hwndTo) {
     1566        if (IsWindow (hwndFrom)) {
     1567            hwndNotify = GetParent (hwndFrom);
     1568            if (!hwndNotify)
     1569                return 0;
     1570        }
     1571    }
     1572
     1573    notify.hwndFrom = hwndFrom;
     1574    notify.hwndTo   = hwndNotify;
     1575    notify.dwParam5 = dwParam5;
     1576    notify.dwParam6 = 0;
     1577
     1578    return DoNotify (&notify, uCode, lpHdr);
     1579}
     1580
     1581
     1582/**************************************************************************
     1583 * StrChrA [COMCTL32.350]
     1584 *
     1585 */
     1586
     1587LPSTR WINAPI
     1588COMCTL32_StrChrA (LPCSTR lpString, CHAR cChar)
     1589{
     1590    return strchr (lpString, cChar);
     1591}
     1592
     1593
     1594/**************************************************************************
     1595 * StrStrIA [COMCTL32.355]
     1596 */
     1597
     1598LPSTR WINAPI
     1599COMCTL32_StrStrIA (LPCSTR lpStr1, LPCSTR lpStr2)
     1600{
     1601    INT len1, len2, i;
     1602    CHAR  first;
     1603
     1604    if (*lpStr2 == 0)
     1605        return ((LPSTR)lpStr1);
     1606    len1 = 0;
     1607    while (lpStr1[len1] != 0) ++len1;
     1608    len2 = 0;
     1609    while (lpStr2[len2] != 0) ++len2;
     1610    if (len2 == 0)
     1611        return ((LPSTR)(lpStr1 + len1));
     1612    first = tolower (*lpStr2);
     1613    while (len1 >= len2) {
     1614        if (tolower(*lpStr1) == first) {
     1615            for (i = 1; i < len2; ++i)
     1616                if (tolower (lpStr1[i]) != tolower(lpStr2[i]))
     1617                    break;
     1618            if (i >= len2)
     1619                return ((LPSTR)lpStr1);
     1620        }
     1621        ++lpStr1; --len1;
     1622    }
     1623    return (NULL);
     1624}
     1625
     1626
     1627/**************************************************************************
     1628 * StrToIntA [COMCTL32.357] Converts a string to a signed integer.
     1629 */
     1630
     1631INT WINAPI
     1632COMCTL32_StrToIntA (LPSTR lpString)
     1633{
     1634    return atoi(lpString);
     1635}
     1636
     1637/**************************************************************************
     1638 * DPA_EnumCallback [COMCTL32.385]
     1639 *
     1640 * Enumerates all items in a dynamic pointer array.
     1641 *
     1642 * PARAMS
     1643 *     hdpa     [I] handle to the dynamic pointer array
     1644 *     enumProc [I]
     1645 *     lParam   [I]
     1646 *
     1647 * RETURNS
     1648 *     none
     1649 */
     1650
     1651VOID WINAPI
     1652DPA_EnumCallback (const HDPA hdpa, DPAENUMPROC enumProc, LPARAM lParam)
     1653{
     1654    INT i;
     1655
     1656//    TRACE (commctrl, "(%p %p %08lx)\n", hdpa, enumProc, lParam);
     1657
     1658    if (!hdpa)
     1659        return;
     1660    if (hdpa->nItemCount <= 0)
     1661        return;
     1662
     1663    for (i = 0; i < hdpa->nItemCount; i++) {
     1664        if ((enumProc)(hdpa->ptrs[i], lParam) == 0)
     1665            return;
     1666    }
     1667
     1668    return;
     1669}
     1670
     1671
     1672/**************************************************************************
     1673 * DPA_DestroyCallback [COMCTL32.386]
     1674 *
     1675 * Enumerates all items in a dynamic pointer array and destroys it.
     1676 *
     1677 * PARAMS
     1678 *     hdpa     [I] handle to the dynamic pointer array
     1679 *     enumProc [I]
     1680 *     lParam   [I]
     1681 *
     1682 * RETURNS
     1683 *     Success: TRUE
     1684 *     Failure: FALSE
     1685 */
     1686
     1687BOOL WINAPI
     1688DPA_DestroyCallback (const HDPA hdpa, DPAENUMPROC enumProc, LPARAM lParam)
     1689{
     1690//    TRACE (commctrl, "(%p %p %08lx)\n", hdpa, enumProc, lParam);
     1691
     1692    DPA_EnumCallback (hdpa, enumProc, lParam);
     1693
     1694    return DPA_Destroy (hdpa);
     1695}
     1696
     1697
     1698/**************************************************************************
     1699 * DSA_EnumCallback [COMCTL32.387]
     1700 *
     1701 * Enumerates all items in a dynamic storage array.
     1702 *
     1703 * PARAMS
     1704 *     hdsa     [I] handle to the dynamic storage array
     1705 *     enumProc [I]
     1706 *     lParam   [I]
     1707 *
     1708 * RETURNS
     1709 *     none
     1710 */
     1711
     1712VOID WINAPI
     1713DSA_EnumCallback (const HDSA hdsa, DSAENUMPROC enumProc, LPARAM lParam)
     1714{
     1715    INT i;
     1716
     1717//    TRACE (commctrl, "(%p %p %08lx)\n", hdsa, enumProc, lParam);
     1718
     1719    if (!hdsa)
     1720        return;
     1721    if (hdsa->nItemCount <= 0)
     1722        return;
     1723
     1724    for (i = 0; i < hdsa->nItemCount; i++) {
     1725        LPVOID lpItem = DSA_GetItemPtr (hdsa, i);
     1726        if ((enumProc)(lpItem, lParam) == 0)
     1727            return;
     1728    }
     1729
     1730    return;
     1731}
     1732
     1733
     1734/**************************************************************************
     1735 * DSA_DestroyCallback [COMCTL32.388]
     1736 *
     1737 * Enumerates all items in a dynamic storage array and destroys it.
     1738 *
     1739 * PARAMS
     1740 *     hdsa     [I] handle to the dynamic storage array
     1741 *     enumProc [I]
     1742 *     lParam   [I]
     1743 *
     1744 * RETURNS
     1745 *     Success: TRUE
     1746 *     Failure: FALSE
     1747 */
     1748
     1749BOOL WINAPI
     1750DSA_DestroyCallback (const HDSA hdsa, DSAENUMPROC enumProc, LPARAM lParam)
     1751{
     1752//    TRACE (commctrl, "(%p %p %08lx)\n", hdsa, enumProc, lParam);
     1753
     1754    DSA_EnumCallback (hdsa, enumProc, lParam);
     1755
     1756    return DSA_Destroy (hdsa);
     1757}
     1758
  • trunk/src/comctl32/ipaddress.c

    r42 r55  
    110110                                        (HANDLE)lpipsi);
    111111/*              infoPtr->lpipsi= lpipsi; */
    112         } else
     112//      } else
     113        }
    113114//              WARN (ipaddress,"IP-create called twice\n");
    114115       
  • trunk/src/ole32/ole32.cpp

    r46 r55  
    2424// ><DJR 17.05.99 Prevent CALLCONV becoming _System
    2525#include <winbase.h>
    26 #include <uconv.h>
     26#include <uniconv.h>
    2727#undef CALLCONV
    2828
Note: See TracChangeset for help on using the changeset viewer.