Changeset 3539 for trunk/src


Ignore:
Timestamp:
May 15, 2000, 4:43:17 AM (25 years ago)
Author:
phaller
Message:

Further SHLWAPI development

Location:
trunk/src/shlwapi
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shlwapi/makefile

    r3444 r3539  
    1 # $Id: makefile,v 1.11 2000-04-25 01:59:34 phaller Exp $
     1# $Id: makefile,v 1.12 2000-05-15 02:42:35 phaller Exp $
    22
    33#
     
    2525OBJS = \
    2626$(OBJDIR)\shlwapi.obj \
     27$(OBJDIR)\mem.obj \
    2728$(OBJDIR)\url.obj \
     29$(OBJDIR)\reg.obj \
     30$(OBJDIR)\path.obj \
     31$(OBJDIR)\string.obj \
    2832$(OBJDIR)\shlwapirsrc.obj \
    2933$(PDWIN32_LIB)/dllentry.obj
     
    5761$(OBJS)
    5862$(PDWIN32_LIB)/kernel32.lib
     63$(PDWIN32_LIB)/user32.lib
    5964$(PDWIN32_LIB)/odincrt.lib
    60 $(PDWIN32_LIB)/shell32.lib
    6165OS2386.LIB
    6266$(RTLLIB_O)
  • trunk/src/shlwapi/shlwapi.cpp

    r3281 r3539  
    1 /* $Id: shlwapi.cpp,v 1.5 2000-03-30 15:40:43 cbratschi Exp $ */
     1/* $Id: shlwapi.cpp,v 1.6 2000-05-15 02:42:35 phaller Exp $ */
    22
    33/*
     
    3939#include <win\winerror.h>
    4040
     41
    4142ODINDEBUGCHANNEL(SHLWAPI)
    4243
    43 
    44 
    45 /*
    46    shlwapi functions that have found their way in because most of
    47    shlwapi is unimplemented and doesn't have a home.
    48 
    49    FIXME: move to a more appropriate file( when one exists )
    50 */
    51 
    52  /* SHGetValue: Gets a value from the registry */
    53 
    54 ODINFUNCTION6(DWORD,SHGetValueA,HKEY,     hkey,
    55                                 LPCSTR,   pSubKey,
    56                                 LPCSTR,   pValue,
    57                                 LPDWORD,  pwType,
    58                                 LPVOID,   pvData,
    59                                 LPDWORD,  pbData)
    60 {
    61     dprintf(("(%p),stub!\n", pSubKey));
    62 
    63         return ERROR_SUCCESS;  /* return success */
    64 }
    65 
    66 ODINFUNCTION6(DWORD,SHGetValueW,HKEY,     hkey,
    67                                 LPCWSTR,  pSubKey,
    68                                 LPCWSTR,  pValue,
    69                                 LPDWORD,  pwType,
    70                                 LPVOID,   pvData,
    71                                 LPDWORD,  pbData)
    72 {
    73     dprintf(("(%p),stub!\n", pSubKey));
    74 
    75         return ERROR_SUCCESS;  /* return success */
    76 }
    77 
    78 /* gets a user-specific registry value. */
    79 
    80 ODINFUNCTION8(LONG,SHRegGetUSValueA,LPCSTR,   pSubKey,
    81                                     LPCSTR,   pValue,
    82                                     LPDWORD,  pwType,
    83                                     LPVOID,   pvData,
    84                                     LPDWORD,  pbData,
    85                                     BOOL,     fIgnoreHKCU,
    86                                     LPVOID,   pDefaultData,
    87                                     DWORD,    wDefaultDataSize)
    88 {
    89     FIXME("(%p),stub!\n", pSubKey);
    90 
    91         return ERROR_SUCCESS;  /* return success */
    92 }
    93 
    94 ODINFUNCTION8(LONG,SHRegGetUSValueW,LPCWSTR, pSubKey,
    95                                     LPCWSTR, pValue,
    96                                     LPDWORD, pwType,
    97                                     LPVOID,  pvData,
    98                                     LPDWORD, pbData,
    99                                     BOOL,    flagIgnoreHKCU,
    100                                     LPVOID,  pDefaultData,
    101                                     DWORD,   wDefaultDataSize)
    102 {
    103     dprintf(("(%p),stub!\n", pSubKey));
    104 
    105         return ERROR_SUCCESS;  /* return success */
    106 }
    107 
    108 
    109 /*****************************************************************************
    110  * Name      : DWORD SHRegGetBoolUSValueA
    111  * Purpose   : unknown
    112  * Parameters: unknown
    113  * Variables :
    114  * Result    : unknown
    115  * Remark    : SHLWAPI.SHRegGetBoolUSValueA
    116  * Status    : UNTESTED
    117  *
    118  * Author    : Patrick Haller [Wed, 1999/12/29 23:02]
    119  *****************************************************************************/
    120 
    121 ODINFUNCTION5(LONG,    SHRegGetBoolUSValueA,
    122               LPCSTR,  pSubKey,
    123               DWORD,   arg2,
    124               DWORD,   arg3,
    125               DWORD,   arg4,
    126               DWORD,   arg5)
    127 {
    128   char  szBuffer[264];
    129   int   iLength;
    130 
    131   dprintf(("(%p),stub!\n", pSubKey));
    132 
    133   return ERROR_SUCCESS;  /* return success */
    134 }
    135 
    136 
    137 /*****************************************************************************
    138  * Name      : DWORD SHRegGetBoolUSValueW
    139  * Purpose   : unknown
    140  * Parameters: unknown
    141  * Variables :
    142  * Result    : unknown
    143  * Remark    : SHLWAPI.SHRegGetBoolUSValueW
    144  * Status    : UNTESTED
    145  *
    146  * Author    : Patrick Haller [Wed, 1999/12/29 23:02]
    147  *****************************************************************************/
    148 
    149 ODINFUNCTION5(LONG,    SHRegGetBoolUSValueW,
    150               LPCWSTR, pSubKey,
    151               DWORD,   arg2,
    152               DWORD,   arg3,
    153               DWORD,   arg4,
    154               DWORD,   arg5)
    155 {
    156   char  szBuffer[264];
    157   int   iLength;
    158 
    159   dprintf(("(%p),stub!\n", pSubKey));
    160 
    161   return ERROR_SUCCESS;  /* return success */
    162 }
    163 
    164 
    165 /*****************************************************************************
    166  * Name      : LPSTR PathSkipRootA
    167  * Purpose   : Parses a path, ignoring the drive letter or UNC server/share path parts.
    168  * Parameters: LPCSTR pszPath
    169  * Variables :
    170  * Result    : unknown
    171  * Remark    : SHLWAPI.PathSkipRootA
    172  * Status    : UNTESTED
    173  *
    174  * Author    : Patrick Haller [Mon, 2000/01/31 23:02]
    175  *****************************************************************************/
    176 
    177 ODINFUNCTION1(LPSTR, PathSkipRootA, LPCSTR, pszPath)
    178 {
    179   // check if "driveletter:\"
    180   if (pszPath[1] == ':')
    181     return (LPSTR)(pszPath + 2);
    182 
    183   // check if UNC-style path
    184   if ( (pszPath[0] == '\\') &&
    185       (pszPath[1] == '\\') )
    186   {
    187     LPSTR pszTemp = strchr(pszPath + 2, '\\');
    188     if (NULL != pszTemp)
    189       // return root part, skip server/share
    190       return (LPSTR)pszTemp++;
    191     else
    192       // UNC syntax validation, return pszPath
    193       return (LPSTR)pszTemp;
    194   }
    195 
    196   // else ...
    197   return (LPSTR)pszPath;
    198 }
    199 
    200 
    201 /*****************************************************************************
    202  * Name      : LPWSTR PathSkipRootW
    203  * Purpose   : Parses a path, ignoring the drive letter or UNC server/share path parts.
    204  * Parameters: LPCWSTR pszPath
    205  * Variables :
    206  * Result    : unknown
    207  * Remark    : SHLWAPI.PathSkipRootW
    208  * Status    : UNTESTED
    209  *
    210  * Author    : Patrick Haller [Mon, 2000/01/31 23:02]
    211  *****************************************************************************/
    212 
    213 ODINFUNCTION1(LPWSTR, PathSkipRootW, LPCWSTR, pszPath)
    214 {
    215   dprintf(("not implemented"));
    216 
    217   return (LPWSTR)pszPath;
    218 }
     44#include "shlwapi.h"
     45
     46BOOL VERSION_OsIsUnicode(VOID)
     47{
     48  return FALSE;
     49}
     50
     51
     52
     53/*****************************************************************************
     54 * Name      : ???
     55 * Purpose   : Unknown (used by explorer.exe)
     56 * Parameters: Unknown (wrong)
     57 * Variables :
     58 * Result    : Unknown
     59 * Remark    :
     60 * Status    : UNTESTED STUB
     61 *
     62 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     63 *****************************************************************************/
     64
     65ODINFUNCTION1(DWORD,SHLWAPI_1,DWORD,x)
     66{
     67  dprintf(("not implemented"));
     68
     69  return 0;
     70}
     71
     72
     73/*****************************************************************************
     74 * Name      : ???
     75 * Purpose   : Unknown (used by explorer.exe)
     76 * Parameters: Unknown (wrong)
     77 * Variables :
     78 * Result    : Unknown
     79 * Remark    :
     80 * Status    : UNTESTED STUB
     81 *
     82 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     83 *****************************************************************************/
     84
     85ODINFUNCTION1(DWORD,SHLWAPI_2,DWORD,x)
     86{
     87  dprintf(("not implemented"));
     88
     89  return 0;
     90}
     91
     92
     93/*****************************************************************************
     94 * Name      : ???
     95 * Purpose   : Unknown (used by explorer.exe)
     96 * Parameters: Unknown (wrong)
     97 * Variables :
     98 * Result    : Unknown
     99 * Remark    :
     100 * Status    : UNTESTED STUB
     101 *
     102 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     103 *****************************************************************************/
     104
     105ODINFUNCTION1(DWORD,SHLWAPI_5,DWORD,x)
     106{
     107  dprintf(("not implemented"));
     108
     109  return 0;
     110}
     111
     112
     113/*****************************************************************************
     114 * Name      : ???
     115 * Purpose   : Unknown (used by explorer.exe)
     116 * Parameters: Unknown (wrong)
     117 * Variables :
     118 * Result    : Unknown
     119 * Remark    :
     120 * Status    : UNTESTED STUB
     121 *
     122 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     123 *****************************************************************************/
     124
     125ODINFUNCTION1(DWORD,SHLWAPI_7,DWORD,x)
     126{
     127  dprintf(("not implemented"));
     128
     129  return 0;
     130}
     131
    219132
    220133/*****************************************************************************
     
    275188}
    276189
     190
     191/*****************************************************************************
     192 * Name      : ???
     193 * Purpose   : Unknown (used by explorer.exe)
     194 * Parameters: Unknown (wrong)
     195 * Variables :
     196 * Result    : Unknown
     197 * Remark    :
     198 * Status    : UNTESTED STUB
     199 *
     200 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     201 *****************************************************************************/
     202
     203ODINFUNCTION1(DWORD,SHLWAPI_12,DWORD,x)
     204{
     205  dprintf(("not implemented, explorer.exe will trap now"));
     206
     207  return 0;
     208}
     209
     210/*****************************************************************************
     211 * Name      : ???
     212 * Purpose   : Unknown (used by explorer.exe)
     213 * Parameters: Unknown (wrong)
     214 * Variables :
     215 * Result    : Unknown
     216 * Remark    :
     217 * Status    : UNTESTED STUB
     218 *
     219 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     220 *****************************************************************************/
     221
     222ODINFUNCTION1(DWORD,SHLWAPI_13,DWORD,x)
     223{
     224  dprintf(("not implemented, explorer.exe will trap now"));
     225
     226  return 0;
     227}
     228
     229
     230/*****************************************************************************
     231 * Name      : ???
     232 * Purpose   : Unknown (used by explorer.exe)
     233 * Parameters: Unknown (wrong)
     234 * Variables :
     235 * Result    : Unknown
     236 * Remark    :
     237 * Status    : UNTESTED STUB
     238 *
     239 * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
     240 *****************************************************************************/
     241
     242ODINFUNCTION1(DWORD,SHLWAPI_14,DWORD,x)
     243{
     244  dprintf(("not implemented, explorer.exe will trap now"));
     245
     246  return 0;
     247}
     248
     249
    277250/*****************************************************************************
    278251 * Name      : ???
     
    294267}
    295268
    296 /*****************************************************************************
    297  * Name      : PathStripToRootA
    298  * Purpose   : return root (used by explorer.exe)
    299  * Parameters: Unknown (wrong)
    300  * Variables :
    301  * Result    : Unknown
    302  * Remark    :
    303  * Status    : UNTESTED STUB
    304  *
    305  * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
    306  *****************************************************************************/
    307 
    308 ODINFUNCTION1(LPSTR,PathStripToRootA,LPSTR,pszPath)
    309 {
    310   dprintf(("not implemented"));
    311 
    312   return NULL;
    313 }
    314 
    315 /*****************************************************************************
    316  * Name      : PathStripToRootW
    317  * Purpose   : return root (used by explorer.exe)
    318  * Parameters: Unknown (wrong)
    319  * Variables :
    320  * Result    : Unknown
    321  * Remark    :
    322  * Status    : UNTESTED STUB
    323  *
    324  * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
    325  *****************************************************************************/
    326 
    327 ODINFUNCTION1(LPSTR,PathStripToRootW,LPSTR,pszPath)
    328 {
    329   dprintf(("not implemented"));
    330 
    331   return NULL;
    332 }
    333 
    334 /*****************************************************************************
    335  * Name      : StrToIntA
    336  * Purpose   : convert string to integer (used by explorer.exe)
    337  * Parameters: Unknown (wrong)
    338  * Variables :
    339  * Result    : Unknown
    340  * Remark    :
    341  * Status    : UNTESTED STUB
    342  *
    343  * Author    : Christoph Bratschi [Wed, 2000/03/29 19:47]
    344  *****************************************************************************/
    345 
    346 ODINFUNCTION1(INT,StrToIntA,LPSTR,pszPath)
    347 {
    348   dprintf(("not implemented"));
    349 
    350   return NULL;
    351 }
    352 
    353 /*************************************************************************
    354  * PathFindExtension [SHELL32.31]
    355  *
    356  * NOTES
    357  *     returns pointer to last . in last pathcomponent or at \0.
    358  */
    359 LPCSTR WINAPI PathFindExtensionA(LPCSTR path)
    360 {       LPCSTR   lastpoint = NULL;
    361         TRACE("%p %s\n",path,path);
    362         while (*path)
    363         { if (*path=='\\'||*path==' ')
    364             lastpoint=NULL;
    365           if (*path=='.')
    366             lastpoint=path;
    367           path++;
    368         }
    369         return lastpoint?lastpoint:path;
    370 }
    371 LPCWSTR WINAPI PathFindExtensionW(LPCWSTR path)
    372 {       LPCWSTR   lastpoint = NULL;
    373         TRACE("(%p %s)\n",path,debugstr_w(path));
    374         while (*path)
    375         { if (*path==(WCHAR)'\\'||*path==(WCHAR)' ')
    376             lastpoint=NULL;
    377           if (*path==(WCHAR)'.')
    378             lastpoint=path;
    379           path++;
    380         }
    381         return lastpoint?lastpoint:path;
    382 }
    383 
  • trunk/src/shlwapi/shlwapi.def

    r3444 r3539  
    1 ; $Id: shlwapi.def,v 1.10 2000-04-25 01:59:35 phaller Exp $
     1; $Id: shlwapi.def,v 1.11 2000-05-15 02:42:35 phaller Exp $
     2
     3; updated export ordinals to NT4 version of SHLWAPI.DLL
     4; Note: W95/W98 has DIFFERENT export ordinals
    25
    36LIBRARY SHLWAPI INITINSTANCE TERMINSTANCE
    47DATA MULTIPLE NONSHARED
    58
    6 IMPORTS
    7 
    8     ; 1      stub    stub_01
    9     ; 2      stub    stub_02
    10     ; 3      stub    stub_03
    11     ; 4      stub    stub_04
    12     ; 5      stub    stub_05
    13     ; 6      stub    stub_06
    14     ; 7      stub    stub_07
    15     ; 8      stub    stub_08
    16     ; 9      stub    stub_09
    17     ; 10     stub    stub_10
    18     ; 11     stub    stub_11
    19     ; 12     stub    stub_12
    20     ; 13     stub    stub_13
    21     ; 14     stub    stub_14
    22     ; 15     stub    stub_15
    23     ; 16     stub    stub_16
    24     ; 17     stub    stub_17
    25     ; 18     stub    stub_18
    26     ; 19     stub    stub_19
    27     ; 20     stub    stub_20
    28     ; 21     stub    stub_21
    29     ; 22     stub    stub_22
    30     ; 23     stub    stub_23
    31     ; 24     stub    stub_24
    32     ; 25     stub    stub_25
    33     ; 26     stub    stub_26
    34     ; 27     stub    stub_27
    35     ; 28     stub    stub_28
    36     ; 29     stub    stub_29
    37     ; 30     stub    stub_30
    38     ; 31     stub    stub_31
    39     ; 32     stub    stub_32
    40     ; 33     stub    stub_33
    41     ; 34     stub    stub_34
    42     ; 35     stub    stub_35
    43     ; 36     stub    stub_36
    44     ; 37     stub    stub_37
    45     ; 38     stub    stub_38
    46     ; 39     stub    stub_39
    47     ; 40     stub    stub_40
    48     ; 41     stub    stub_41
    49     ; 42     stub    stub_42
    50     ; 43     stub    stub_43
    51     ; 44     stub    stub_44
    52     ; 45     stub    stub_45
    53     ; 46     stub    stub_46
    54     ; 47     stub    stub_47
    55     ; 48     stub    stub_48
    56     ; 49     stub    stub_49
    57     ; 50     stub    stub_50
    58     ; 51     stub    stub_51
    59     ; 52     stub    stub_52
    60     ; 53     stub    stub_53
    61     ; 54     stub    stub_54
    62     ; 55     stub    stub_55
    63     ; 56     stub    stub_56
    64     ; 57     stub    stub_57
    65     ; 58     stub    stub_58
    66     ; 59     stub    stub_59
    67     ; 60     stub    stub_60
    68     ; 61     stub    stub_61
    69     ; 62     stub    stub_62
    70     ; 63     stub    stub_63
    71     ; 64     stub    stub_64
    72     ; 65     stub    stub_65
    73     ; 66     stub    stub_66
    74     ; 67     stub    stub_67
    75     ; 68     stub    stub_68
    76     ; 69     stub    stub_69
    77     ; 70     stub    stub_70
    78     ; 71     stub    stub_71
    79     ; 72     stub    stub_72
    80     ; 73     stub    stub_73
    81     ; 74     stub    stub_74
    82     ; 75     stub    stub_75
    83     ; 76     stub    stub_76
    84     ; 77     stub    stub_77
    85     ; 78     stub    stub_78
    86     ; 79     stub    stub_79
    87     ; 80     stub    stub_80
    88     ; 81     stub    stub_81
    89     ; 82     stub    stub_82
    90     ; 83     stub    stub_83
    91     ; 84     stub    stub_84
    92     ; 85     stub    stub_85
    93     ; 86     stub    stub_86
    94     ; 87     stub    stub_87
    95     ; 88     stub    stub_88
    96     ; 89     stub    stub_89
    97     ; 90     stub    stub_90
    98     ; 91     stub    stub_91
    99     ; 92     stub    stub_92
    100     ; 93     stub    stub_93
    101     ; 94     stub    stub_94
    102     ; 95     stub    stub_95
    103     ; 96     stub    stub_96
    104     ; 97     stub    stub_97
    105     ; 98     stub    stub_98
    106     ; 99     stub    stub_99
    107     ; 100    stub    stub_100
    108     ; 101    stub    stub_101
    109     ; 102    stub    stub_102
    110     ; 103    stub    stub_103
    111     ; 104    stub    stub_104
    112     ; 105    stub    stub_105
    113     ; 106    stub    stub_106
    114     ; 107    stub    stub_107
    115     ; 108    stub    stub_108
    116     ; 109    stub    stub_109
    117     ; 110    stub    stub_110
    118     ; 111    stub    stub_111
    119     ; 112    stub    stub_112
    120     ; 113    stub    stub_113
    121     ; 114    stub    stub_114
    122     ; 115    stub    stub_115
    123     ; 116    stub    stub_116
    124     ; 117    stub    stub_117
    125     ; 118    stub    stub_118
    126     ; 119    stub    stub_119
    127     ; 120    stub    stub_120
    128     ; 121    stub    stub_121
    129     ; 122    stub    stub_122
    130     ; 123    stub    stub_123
    131     ; 124    stub    stub_124
    132     ; 125    stub    stub_125
    133     ; 126    stub    stub_126
    134     ; 127    stub    stub_127
    135     ; 128    stub    stub_128
    136     ; 129    stub    stub_129
    137     ; 130    stub    stub_130
    138     ; 131    stub    stub_131
    139     ; 132    stub    stub_132
    140     ; 133    stub    stub_133
    141     ; 134    stub    stub_134
    142     ; 135    stub    stub_135
    143     ; 136    stub    stub_136
    144     ; 137    stub    stub_137
    145     ; 138    stub    stub_138
    146     ; 139    stub    stub_139
    147     ; 140    stub    stub_140
    148     ; 141    stub    stub_141
    149     ; 142    stub    stub_142
    150     ; 143    stub    stub_143
    151     ; 144    stub    stub_144
    152     ; 145    stub    stub_145
    153     ; 146    stub    stub_146
    154     ; 147    stub    stub_147
    155     ; 148    stub    stub_148
    156     ; 149    stub    stub_149
    157     ; 150    stub    stub_150
    158     ; 151    stub    stub_151
    159     ; 152    stub    stub_152
    160     ; 153    stub    stub_153
    161     ; 154    stub    stub_154
    162     ; 155    stub    stub_155
    163     ; 156    stub    stub_156
    164     ; 157    stub    stub_157
    165     ; 158    stub    stub_158
    166     ; 159    stub    stub_159
    167     ; 160    stub    stub_160
    168     ; 161    stub    stub_161
    169 ;  _ChrCmpIA                          = SHELL32.ChrCmpIA
    170 ;  _ChrCmpIW                          = SHELL32.ChrCmpIW
    171     ; 162    stub    ChrCmpIA
    172     ; 163    stub    ChrCmpIW
    173     ; 164    stub    DllGetVersion
    174     ; 165    stub    GetMenuPosFromID
    175     ; 166    stub    HashData
    176     ; 167    stub    IntlStrEqWorkerA
    177     ; 168    stub    IntlStrEqWorkerW
    178 
    179 ;    PathAddBackslashA                          = SHELL32.PathAddBackslashA
    180 ;    PathAddBackslashW                          = SHELL32.PathAddBackslashW
    181 
    182     ; 171    stub    PathAddExtensionA
    183     ; 172    stub    PathAddExtensionW
    184     ; 173    stdcall PathAppendA (str str) PathAppendA
    185     ; 174    stub    PathAppendW
    186     ; 175    stdcall PathBuildRootA (ptr long) PathBuildRootA
    187     ; 176    stub    PathBuildRootW
    188     ; 177    stub    PathCanonicalizeA
    189     ; 178    stub    PathCanonicalizeW
    190     ; 179    stdcall PathCombineA (ptr ptr ptr) PathCombineA
    191     ; 180    stdcall PathCombineW (ptr ptr ptr) PathCombineW
    192     ; 181    stub    PathCommonPrefixA
    193     ; 182    stub    PathCommonPrefixW
    194     ; 183    stub    PathCompactPathA
    195     ; 184    stub    PathCompactPathExA
    196     ; 185    stub    PathCompactPathExW
    197     ; 186    stub    PathCompactPathW
    198     ; 187    stub    PathCreateFromUrlA
    199     ; 188    stub    PathCreateFromUrlW
    200     ; 189    stdcall PathFileExistsA (str) PathFileExistsA
    201     ; 190    stub    PathFileExistsW
    202     ; 191    stdcall PathFindExtensionA (ptr) PathFindExtensionA
    203     ; 192    stdcall PathFindExtensionW (ptr) PathFindExtensionW
    204 ;    PathFindFileNameA                          = SHELL32.PathFindFilenameA
    205 ;    PathFindFileNameW                          = SHELL32.PathFindFilenameW
    206     ; 195    stub    PathFindNextComponentA
    207     ; 196    stub    PathFindNextComponentW
    208     ; 197    stdcall PathFindOnPathA (ptr ptr) PathFindOnPathA
    209     ; 198    stdcall PathFindOnPathW (ptr ptr) PathFindOnPathW
    210     ; 199    stdcall PathGetArgsA (str) PathGetArgsA
    211     ; 200    stdcall PathGetArgsW (str) PathGetArgsW
    212     ; 201    stub    PathGetCharTypeA
    213     ; 202    stub    PathGetCharTypeW
    214     ; 203    stdcall PathGetDriveNumberA (str) PathGetDriveNumber
    215     ; 204    stub    PathGetDriveNumberW #(str) PathGetDriveNumber
    216     ; 205    stub    PathIsContentTypeA
    217     ; 206    stub    PathIsContentTypeW
    218     ; 207    stub    PathIsDirectoryA
    219     ; 208    stub    PathIsDirectoryW
    220     ; 209    stub    PathIsFileSpecA
    221     ; 210    stub    PathIsFileSpecW
    222     ; 211    stub    PathIsPrefixA
    223     ; 212    stub    PathIsPrefixW
    224     ; 213    stdcall PathIsRelativeA (ptr) PathIsRelativeA
    225     ; 214    stdcall PathIsRelativeW (ptr) PathIsRelativeW
    226 
    227 ;    PathIsRootA                                = SHELL32.PathIsRootA
    228 ;    PathIsRootW                                = SHELL32.PathIsRootW
    229 
    230     ; 217    stub    PathIsSameRootA
    231     ; 218    stub    PathIsSameRootW
    232     ; 219    stub    PathIsSystemFolderA
    233     ; 220    stub    PathIsSystemFolderW
    234     ; 221    stdcall PathIsUNCA (ptr) PathIsUNCA
    235     ; 222    stub    PathIsUNCServerA
    236     ; 223    stub    PathIsUNCServerShareA
    237     ; 224    stub    PathIsUNCServerShareW
    238     ; 225    stub    PathIsUNCServerW
    239     ; 226    stdcall PathIsUNCW (ptr) PathIsUNCW
    240     ; 227    stub    PathIsURLA
    241     ; 228    stub    PathIsURLW
    242     ; 229    stub    PathMakePrettyA
    243     ; 230    stub    PathMakePrettyW
    244     ; 231    stub    PathMakeSystemFolderA
    245     ; 232    stub    PathMakeSystemFolderW
    246 
    247 ;    PathMatchSpecA                    = SHELL32.PathMatchSpecA
    248 ;    PathMatchSpecW                    = SHELL32.PathMatchSpecW
    249 
    250     ; 235    stub    PathParseIconLocationA
    251     ; 236    stub    PathParseIconLocationW
    252     ; 237    stdcall PathQuoteSpacesA (ptr) PathQuoteSpacesW
    253     ; 238    stdcall PathQuoteSpacesW (ptr) PathQuoteSpacesW
    254     ; 239    stub    PathRelativePathToA
    255     ; 240    stub    PathRelativePathToW
    256     ; 241    stub    PathRemoveArgsA
    257     ; 242    stub    PathRemoveArgsW
    258 
    259 ;    PathRemoveBackslashA               = SHELL32.PathRemoveBackslashA
    260 ;    PathRemoveBackslashW               = SHELL32.PathRemoveBackslashW
    261 
    262     ; 245    stdcall PathRemoveBlanksA(str) PathRemoveBlanksA
    263     ; 246    stdcall PathRemoveBlanksW(wstr) PathRemoveBlanksW
    264     ; 247    stub    PathRemoveExtensionA
    265     ; 248    stub    PathRemoveExtensionW
    266 
    267 ;    PathRemoveFileSpecA                        = SHELL32.PathRemoveFileSpec
    268 
    269     ; 250    stub    PathRemoveFileSpecW
    270     ; 251    stub    PathRenameExtensionA
    271     ; 252    stub    PathRenameExtensionW
    272     ; 253    stub    PathSearchAndQualifyA
    273     ; 254    stub    PathSearchAndQualifyW
    274     ; 255    stdcall PathSetDlgItemPathA (long long ptr) PathSetDlgItemPathA
    275     ; 256    stdcall PathSetDlgItemPathW (long long ptr) PathSetDlgItemPathW
    276     ; 257    stub    PathSkipRootA
    277     ; 258    stub    PathSkipRootW
    278     ; 259    stub    PathStripPathA
    279     ; 260    stub    PathStripPathW
    280     ; 261    stub    PathStripToRootA
    281     ; 262    stub    PathStripToRootW
    282     ; 263    stub    PathUnmakeSystemFolderA
    283     ; 264    stub    PathUnmakeSystemFolderW
    284     ; 265    stdcall PathUnquoteSpacesA (str) PathUnquoteSpacesA
    285     ; 266    stdcall PathUnquoteSpacesW (str) PathUnquoteSpacesW
    286     ; 267    stub    SHCreateShellPalette
    287     ; 268    stub    SHDeleteEmptyKeyA
    288     ; 269    stub    SHDeleteEmptyKeyW
    289     ; 270    stub    SHDeleteKeyA
    290     ; 271    stub    SHDeleteKeyW
    291     ; 272    stub    SHDeleteOrphanKeyA
    292     ; 273    stub    SHDeleteOrphanKeyW
    293     ; 274    stub    SHDeleteValueA
    294     ; 275    stub    SHDeleteValueW
    295     ; 276    stub    SHEnumKeyExA
    296     ; 277    stub    SHEnumKeyExW
    297     ; 278    stub    SHEnumValueA
    298     ; 279    stub    SHEnumValueW
    299     ; 280    stub    SHGetInverseCMAP
    300     ; 281    stdcall SHGetValueA ( long ptr ptr ptr ptr ptr ) SHGetValueA
    301     ; 282    stdcall SHGetValueW ( long ptr ptr ptr ptr ptr ) SHGetValueW
    302     ; 283    stub    SHIsLowMemoryMachine
    303     ; 284    stub    SHOpenRegStreamA
    304     ; 285    stub    SHOpenRegStreamW
    305     ; 286    stub    SHQueryInfoKeyA
    306     ; 287    stub    SHQueryInfoKeyW
    307     ; 288    stub    SHQueryValueExA
    308     ; 289    stub    SHQueryValueExW
    309     ; 290    stub    SHRegCloseUSKey
    310     ; 291    stub    SHRegCreateUSKeyA
    311     ; 292    stub    SHRegCreateUSKeyW
    312     ; 293    stub    SHRegDeleteEmptyUSKeyA
    313     ; 294    stub    SHRegDeleteEmptyUSKeyW
    314     ; 295    stub    SHRegDeleteUSValueA
    315     ; 296    stub    SHRegDeleteUSValueW
    316     ; 297    stub    SHRegEnumUSKeyA
    317     ; 298    stub    SHRegEnumUSKeyW
    318     ; 299    stub    SHRegEnumUSValueA
    319     ; 300    stub    SHRegEnumUSValueW
    320     ; 301    stub    SHRegGetBoolUSValueA
    321     ; 302    stub    SHRegGetBoolUSValueW
    322     ; 303    stdcall SHRegGetUSValueA ( ptr ptr ptr ptr ptr long ptr long ) SHRegGetUSValueA
    323     ; 304    stdcall SHRegGetUSValueW ( ptr ptr ptr ptr ptr long ptr long ) SHRegGetUSValueW
    324     ; 305    stub    SHRegOpenUSKeyA
    325     ; 306    stub    SHRegOpenUSKeyW
    326     ; 307    stub    SHRegQueryInfoUSKeyA
    327     ; 308    stub    SHRegQueryInfoUSKeyW
    328     ; 309    stub    SHRegQueryUSValueA
    329     ; 310    stub    SHRegQueryUSValueW
    330     ; 311    stub    SHRegSetUSValueA
    331     ; 312    stub    SHRegSetUSValueW
    332     ; 313    stub    SHRegWriteUSValueA
    333     ; 314    stub    SHRegWriteUSValueW
    334     ; 315    stub    SHSetValueA
    335     ; 316    stub    SHSetValueW
    336     ; 317    stub    StrCSpnA
    337     ; 318    stub    StrCSpnIA
    338     ; 319    stub    StrCSpnIW
    339     ; 320    stub    StrCSpnW
    340     ; 321    stub    StrCatW
    341     ; 322    stub    StrChrA
    342     ; 323    stub    StrChrIA
    343     ; 324    stub    StrChrIW
    344     ; 325    stdcall StrChrW (ptr ptr) StrChrW
    345     ; 326    stub    StrCmpIW
    346     ; 327    stub    StrCmpNA
    347     ; 328    stub    StrCmpNIA
    348     ; 329    stdcall StrCmpNIW (wstr wstr long) StrCmpNIW
    349     ; 330    stub    StrCmpNW
    350     ; 331    stub    StrCmpW
    351     ; 332    stub    StrCpyNW
    352     ; 333    stub    StrCpyW
    353     ; 334    stub    StrDupA
    354     ; 335    stub    StrDupW
    355     ; 336    stdcall StrFormatByteSizeA(long str long) StrFormatByteSizeA
    356     ; 337    stdcall StrFormatByteSizeW(long wstr long) StrFormatByteSizeW
    357     ; 338    stub    StrFromTimeIntervalA
    358     ; 339    stub    StrFromTimeIntervalW
    359     ; 340    stub    StrIsIntlEqualA
    360     ; 341    stub    StrIsIntlEqualW
    361     ; 342    stub    StrNCatA
    362     ; 343    stub    StrNCatW
    363     ; 344    stub    StrPBrkA
    364     ; 345    stub    StrPBrkW
    365     ; 346    stdcall StrRChrA (str str long) StrRChrA
    366     ; 347    stub    StrRChrIA
    367     ; 348    stub    StrRChrIW
    368     ; 349    stdcall StrRChrW (wstr wstr long) StrRChrW
    369     ; 350    stub    StrRStrIA
    370     ; 351    stub    StrRStrIW
    371     ; 352    stub    StrSpnA
    372     ; 353    stub    StrSpnW
    373     ; 354    stub    StrStrA
    374     ; 355    stub    StrStrIA
    375     ; 356    stub    StrStrIW
    376     ; 357    stub    StrStrW
    377     ; 358    stub    StrToIntA
    378     ; 359    stub    StrToIntExA
    379     ; 360    stub    StrToIntExW
    380     ; 361    stub    StrToIntW
    381     ; 362    stub    StrTrimA
    382     ; 363    stub    StrTrimW
    383     ;
    384     ; # exported in later versions
    385     ; 400 stdcall StrRetToBufA (ptr ptr ptr long) StrRetToBufA
    386     ; 401 stdcall StrRetToBufW (ptr ptr ptr long) StrRetToBufW
    387     ; #402 stdcall StrRetToStrA (ptr ptr ptr) StrRetToStrA
    388     ; #403 stdcall StrRetToStrW (ptr ptr ptr) StrRetToStrW
    389     ;
    390     ;
    3919
    39210EXPORTS
    393     SHLWAPI_8           = _SHLWAPI_8@4                         @8
    394     SHLWAPI_9           = _SHLWAPI_9@4                         @9
    395     SHLWAPI_10          = _SHLWAPI_10@4                        @10
    396     SHLWAPI_16          = _SHLWAPI_16@4                        @16
    397 
    398     PathAddBackslashA = _PathAddBackslashA@4                    @169
    399     PathAddBackslashW = _PathAddBackslashW@4                    @170
    400 
    401     PathAppendA       = _PathAppendA@8                          @173
    402     PathAppendW       = _PathAppendW@8                          @174
    403     PathBuildRootA    = _PathBuildRootA@8                       @175
    404     PathBuildRootW    = _PathBuildRootW@8                       @176
    405 
    406     PathCombineA      = _PathCombineA@12                        @179
    407     PathCombineW      = _PathCombineW@12                        @180
    408 
    409     PathFileExistsA   = _PathFileExistsA@4                      @189
    410     PathFileExistsW   = _PathFileExistsW@4                      @190
    411     PathFindExtensionA   = _PathFindExtensionA@4                @191
    412     PathFindExtensionW   = _PathFindExtensionW@4                @192
    413     PathFindFileNameA = _PathFindFilenameA@4                    @193
    414     PathFindFileNameW = _PathFindFilenameW@4                    @194
    415 
    416     PathFindOnPathA   = _PathFindOnPathA@8                      @197
    417     PathFindOnPathW   = _PathFindOnPathW@8                      @198
    418     PathGetArgsA      = _PathGetArgsA@4                         @199
    419     PathGetArgsW      = _PathGetArgsW@4                         @200
    420 
    421     PathGetDriveNumberA = _PathGetDriveNumberA@4                @203
    422     PathGetDriveNumberW = _PathGetDriveNumberW@4                @204
    423     PathIsRelativeA   = _PathIsRelativeA@4                      @213
    424     PathIsRelativeW   = _PathIsRelativeW@4                      @214
    425     PathIsRootA       = _PathIsRootA@4                          @215
    426     PathIsRootW       = _PathIsRootW@4                          @216
    427 
    428     PathIsUNCA        = _PathIsUNCA@4                           @221
    429     PathIsUNCW        = _PathIsUNCW@4                           @226
    430 
    431     PathMatchSpecA    = _PathMatchSpecA@8                       @233
    432     PathMatchSpecW    = _PathMatchSpecW@8                       @234
    433     PathQuoteSpacesA  = _PathQuoteSpacesA@4                     @237
    434     PathQuoteSpacesW  = _PathQuoteSpacesW@4                     @238
    435 
    436     PathRemoveBackslashA = _PathRemoveBackslashA@4              @243
    437     PathRemoveBackslashW = _PathRemoveBackslashW@4              @244
    438     PathRemoveBlanksA    = _PathRemoveBlanksA@4                 @245
    439     PathRemoveBlanksW    = _PathRemoveBlanksW@4                 @246
    440     PathRemoveFileSpecA  = _PathRemoveFileSpecA@4               @249
    441 
    442     PathSetDlgItemPathA  = _PathSetDlgItemPathA@12              @255
    443     PathSetDlgItemPathW  = _PathSetDlgItemPathW@12              @256
    444     PathSkipRootA        = _PathSkipRootA@4                     @257
    445     PathSkipRootW        = _PathSkipRootW@4                     @258
    446 
    447     PathStripToRootA     = _PathStripToRootA@4                  @261
    448     PathStripToRootW     = _PathStripToRootW@4                  @262
    449 
    450     PathUnquoteSpacesA   = _PathUnquoteSpacesA@4                @265
    451     PathUnquoteSpacesW   = _PathUnquoteSpacesW@4                @266
    452 
    453     SHGetValueA          = _SHGetValueA@24                      @281
    454     SHGetValueW          = _SHGetValueW@24                      @282
    455 
    456     SHRegGetBoolUSValueA = _SHRegGetBoolUSValueA@20             @301
    457     SHRegGetBoolUSValueW = _SHRegGetBoolUSValueW@20             @302
    458     SHRegGetUSValueA     = _SHRegGetUSValueA@32                 @303
    459     SHRegGetUSValueW     = _SHRegGetUSValueW@32                 @304
    460     StrChrA              = _StrChrA@8                           @322
    461     StrChrIA             = _StrChrIA@8                          @323
    462     StrChrIW             = _StrChrIW@8                          @324
    463     StrChrW              = _StrChrW@8                           @325
    464 
    465     StrCmpNIA            = _StrCmpNIA@12                        @328
    466     StrCmpNIW            = _StrCmpNIW@12                        @329
    467 
    468     StrFormatByteSizeA   = _StrFormatByteSizeA@12               @336
    469     StrFormatByteSizeW   = _StrFormatByteSizeW@12               @337
    470     StrRChrA             = _StrRChrA@12                         @346
    471     StrRChrW             = _StrRChrW@12                         @349
    472 
    473     StrStrIA             = _StrStrIA@8                          @355
    474     StrStrIW             = _StrStrIW@8                          @356
    475 
    476     StrToIntA            = _StrToIntA@4                         @358
    477 
    478     ; --- URL handling ---
    479     UrlApplySchemeA      = _UrlApplySchemeA@16                  @364
    480     UrlApplySchemeW      = _UrlApplySchemeW@16                  @365
    481     UrlCanonicalizeA     = _UrlCanonicalizeA@16                 @366
    482     UrlCanonicalizeW     = _UrlCanonicalizeW@16                 @367
    483     UrlCombineA          = _UrlCombineA@20                      @368
    484     UrlCombineW          = _UrlCombineW@20                      @369
    485     UrlCompareA          = _UrlCompareA@12                      @370
    486     UrlCompareW          = _UrlCompareW@12                      @371
    487     UrlCreateFromPathA   = _UrlCreateFromPathA@16               @372
    488     UrlCreateFromPathW   = _UrlCreateFromPathW@16               @373
    489     UrlEscapeA           = _UrlEscapeA@16                       @374
    490     UrlEscapeW           = _UrlEscapeW@16                       @375
    491     UrlGetLocationA      = _UrlGetLocationA@4                   @376
    492     UrlGetLocationW      = _UrlGetLocationW@4                   @377
    493     UrlGetPartA          = _UrlGetPartA@20                      @378
    494     UrlGetPartW          = _UrlGetPartW@20                      @379
    495     UrlHashA             = _UrlHashA@12                         @380
    496     UrlHashW             = _UrlHashW@12                         @381
    497     UrlIsA               = _UrlIsA@8                            @382
    498     UrlIsNoHistoryA      = _UrlIsNoHistoryA@4                   @383
    499     UrlIsNoHistoryW      = _UrlIsNoHistoryW@4                   @384
    500     UrlIsOpaqueA         = _UrlIsOpaqueA@4                      @385
    501     UrlIsOpaqueW         = _UrlIsOpaqueW@4                      @386
    502     UrlIsW               = _UrlIsW@8                            @387
    503     UrlUnescapeA         = _UrlUnescapeA@16                     @388
    504     UrlUnescapeW         = _UrlUnescapeW@16                     @389
    505 
    506     StrRetToBufA         = _StrRetToBufA@16                     @400
    507     StrRetToBufW         = _StrRetToBufW@16                     @401
     11  ; AssocCreate            = _AssocCreate@?                       @252  ; NT4
     12  ; AssocQueryKeyA         = _AssocQueryKeyA@?                    @253  ; NT4
     13  ; AssocQueryKeyW         = _AssocQueryKeyW@?                    @254  ; NT4
     14  ; AssocQueryStringA      = _AssocQueryStringA@?                 @380  ; NT4
     15  ; AssocQueryStringByKeyA = _AssocQueryStringByKeyA@?            @381  ; NT4
     16  ; AssocQueryStringByKeyW = _AssocQueryStringByKeyW@?            @382  ; NT4
     17  ; AssocQueryStringW      = _AssocQueryStringW@?                 @383  ; NT4
     18  ; ChrCmpIA               = _ChrCmpIA@?                          @384
     19  ; ChrCmpIW               = _ChrCmpIW@?                          @385
     20  ; ColorAdjustLuma        = _ColorAdjustLuma@?                   @386  ; NT4
     21  ; ColorHLSToRGB          = _ColorHLSToRGB@?                     @403  ; NT4
     22  ; ColorRGBToHLS          = _ColorRGBToHLS@?                     @444  ; NT4
     23  ; DllGetVersion          = _DllGetVersion@?                     @445
     24  ; GetMenuPosFromID       = _GetMenuPosFromID@?                  @446
     25  ; HashData               = _HashData@?                          @447
     26  ; IntlStrEqWorkerA       = _IntlStrEqWorkerA@?                  @448
     27  ; IntlStrEqWorkerW       = _IntlStrEqWorkerW@?                  @449
     28    PathAddBackslashA      = _PathAddBackslashA@4                 @450
     29  ;*PathAddBackslashAW     = _PathAddBackslashAW@4
     30    PathAddBackslashW      = _PathAddBackslashW@4                 @451
     31  ; PathAddExtensionA      = _PathAddExtensionA@?                 @452
     32  ; PathAddExtensionW      = _PathAddExtensionW@?                 @453
     33    PathAppendA            = _PathAppendA@8                       @454
     34    PathAppendW            = _PathAppendW@8                       @455
     35    PathBuildRootA         = _PathBuildRootA@8                    @456
     36    PathBuildRootW         = _PathBuildRootW@8                    @457
     37  ; PathCanonicalizeA      = _PathCanonicalizeA@?                 @458
     38  ; PathCanonicalizeW      = _PathCanonicalizeW@?                 @459
     39    PathCombineA           = _PathCombineA@12                     @460
     40  ;*PathCombineAW          = _PathCombineAW@12
     41    PathCombineW           = _PathCombineW@12                     @461
     42  ; PathCommonPrefixA      = _PathCommonPrefixA@?                 @462
     43  ; PathCommonPrefixW      = _PathCommonPrefixW@?                 @463
     44  ; PathCompactPathA       = _PathCompactPathA@?                  @464
     45  ; PathCompactPathExA     = _PathCompactPathExA@?                @465
     46  ; PathCompactPathExW     = _PathCompactPathExW@?                @466
     47  ; PathCompactPathW       = _PathCompactPathW@?                  @467
     48  ; PathCreateFromUrlA     = _PathCreateFromUrlA@?                @468
     49  ; PathCreateFromUrlW     = _PathCreateFromUrlW@?                @469
     50    PathFileExistsA        = _PathFileExistsA@4                   @470
     51    PathFileExistsW        = _PathFileExistsW@4                   @471
     52    PathFindExtensionA     = _PathFindExtensionA@4                @472
     53  ;*PathFindExtensionAW    = _PathFindExtensionAW@4
     54    PathFindExtensionW     = _PathFindExtensionW@4                @473
     55    PathFindFilenameA      = _PathFindFilenameA@4                 @474
     56  ;*PathFindFilenameAW     = _PathFindFilenameAW@4
     57    PathFindFilenameW      = _PathFindFilenameW@4                 @475
     58  ; PathFindNextComponentA = _PathFindNextComponentA@?            @476
     59  ; PathFindNextComponentW = _PathFindNextComponentW@?            @477
     60    PathFindOnPathA        = _PathFindOnPathA@8                   @478
     61  ;*PathFindOnPathAW       = _PathFindOnPathAW@8
     62    PathFindOnPathW        = _PathFindOnPathW@8                   @479
     63  ; PathFindSuffixArrayA   = _PathFindSuffixArrayA@?              @480  ; NT4
     64  ; PathFindSuffixArrayW   = _PathFindSuffixArrayW@?              @481  ; NT4
     65    PathGetArgsA           = _PathGetArgsA@4                      @482
     66  ;*PathGetArgsAW          = _PathGetArgsAW@4
     67    PathGetArgsW           = _PathGetArgsW@4                      @483
     68  ; PathGetCharTypeA       = _PathGetCharTypeA@?                  @484
     69  ; PathGetCharTypeW       = _PathGetCharTypeW@?                  @485
     70    PathGetDriveNumberA    = _PathGetDriveNumberA@4               @486
     71  ;*PathGetDriveNumberAW   = _PathGetDriveNumberAW@4
     72    PathGetDriveNumberW    = _PathGetDriveNumberW@4               @487
     73  ; PathIsContentTypeA     = _PathIsContentTypeA@?                @488
     74  ; PathIsContentTypeW     = _PathIsContentTypeW@?                @489
     75  ; PathIsDirectoryA       = _PathIsDirectoryA@?                  @490
     76  ; PathIsDirectoryEmptyA  = _PathIsDirectoryEmptyA@?             @491  ; NT4
     77  ; PathIsDirectoryEmptyW  = _PathIsDirectoryEmptyW@?             @492  ; NT4
     78  ; PathIsDirectoryW       = _PathIsDirectoryW@?                  @493
     79  ; PathIsFileSpecA        = _PathIsFileSpecA@?                   @494
     80  ; PathIsFileSpecW        = _PathIsFileSpecW@?                   @495
     81  ; PathIsLFNFileSpecA     = _PathIsLFNFileSpecA@?                @496  ; NT4
     82  ; PathIsLFNFileSpecW     = _PathIsLFNFileSpecW@?                @497  ; NT4
     83  ; PathIsNetworkPathA     = _PathIsNetworkPathA@?                @498  ; NT4
     84  ; PathIsNetworkPathW     = _PathIsNetworkPathW@?                @499  ; NT4
     85  ; PathIsPrefixA          = _PathIsPrefixA@?                     @500
     86  ; PathIsPrefixW          = _PathIsPrefixW@?                     @501
     87    PathIsRelativeA        = _PathIsRelativeA@4                   @502
     88  ;*PathIsRelativeAW       = _PathIsRelativeAW@4
     89    PathIsRelativeW        = _PathIsRelativeW@4                   @503
     90    PathIsRootA            = _PathIsRootA@4                       @504
     91  ;*PathIsRootAW           = _PathIsRootAW@4
     92    PathIsRootW            = _PathIsRootW@4                       @505
     93  ; PathIsSameRootA        = _PathIsSameRootA@?                   @506
     94  ; PathIsSameRootW        = _PathIsSameRootW@?                   @507
     95  ; PathIsSystemFolderA    = _PathIsSystemFolderA@?               @508
     96  ; PathIsSystemFolderW    = _PathIsSystemFolderW@?               @509
     97    PathIsUNCA             = _PathIsUNCA@4                        @510
     98  ; PathIsUNCServerA       = _PathIsUNCServerA@?                  @511
     99  ; PathIsUNCServerShareA  = _PathIsUNCServerShareA@?             @512
     100  ; PathIsUNCServerShareW  = _PathIsUNCServerShareW@?             @513
     101  ; PathIsUNCServerW       = _PathIsUNCServerW@?                  @514
     102  ;*PathIsUNCAW            = _PathIsUNCAW@4
     103    PathIsUNCW             = _PathIsUNCW@4                        @515
     104    PathIsURLA             = _PathIsURLA@4                        @516
     105  ; PathIsURLW             = _PathIsURLW@4                        @517
     106  ; PathMakePrettyA        = _PathMakePrettyA@?                   @518
     107  ; PathMakePrettyW        = _PathMakePrettyW@?                   @519
     108  ; PathMakeSystemFolderA  = _PathMakeSystemFolderA@?             @520
     109  ; PathMakeSystemFolderW  = _PathMakeSystemFolderW@?             @521
     110    PathMatchSpecA         = _PathMatchSpecA@8                    @522
     111  ;*PathMatchSpecAW        = _PathMatchSpecAW@8
     112    PathMatchSpecW         = _PathMatchSpecW@8                    @523
     113  ; PathParseIconLocationA = _PathParseIconLocationA@?            @524
     114  ; PathParseIconLocationW = _PathParseIconLocationW@?            @525
     115    PathQuoteSpacesA       = _PathQuoteSpacesA@4                  @526
     116  ;*PathQuoteSpacesAW      = _PathQuoteSpacesAW@4
     117    PathQuoteSpacesW       = _PathQuoteSpacesW@4                  @527
     118  ; PathRelativePathToA    = _PathRelativePathToA@?               @528
     119  ; PathRelativePathToW    = _PathRelativePathToW@?               @529
     120  ; PathRemoveArgsA        = _PathRemoveArgsA@?                   @530
     121  ; PathRemoveArgsW        = _PathRemoveArgsW@?                   @531
     122    PathRemoveBackslashA   = _PathRemoveBackslashA@4              @532
     123    PathRemoveBackslashW   = _PathRemoveBackslashW@4              @533
     124    PathRemoveBlanksA      = _PathRemoveBlanksA@4                 @534
     125  ;*PathRemoveBlanksAW     = _PathRemoveBlanksAW@4
     126    PathRemoveBlanksW      = _PathRemoveBlanksW@4                 @535
     127  ; PathRemoveExtensionA   = _PathRemoveExtensionA@?              @536
     128  ; PathRemoveExtensionW   = _PathRemoveExtensionW@?              @537
     129    PathRemoveFileSpecA    = _PathRemoveFileSpecA@4               @538
     130  ; PathRemoveFileSpecA    = _PathRemoveFileSpecW@4               @539
     131  ; PathRenameExtensionA   = _PathRenameExtensionA@?              @540
     132  ; PathRenameExtensionW   = _PathRenameExtensionW@?              @541
     133  ; PathSearchAndQualifyA  = _PathSearchAndQualifyA@?             @542
     134  ; PathSearchAndQualifyW  = _PathSearchAndQualifyW@?             @543
     135    PathSetDlgItemPathA    = _PathSetDlgItemPathA@12              @544
     136  ;*PathSetDlgItemPathAW   = _PathSetDlgItemPathAW@12
     137    PathSetDlgItemPathW    = _PathSetDlgItemPathW@12              @545
     138    PathSkipRootA          = _PathSkipRootA@4                     @546
     139    PathSkipRootW          = _PathSkipRootW@4                     @547
     140  ; PathStripPathA         = _PathStripPathA@?                    @548
     141  ; PathStripPathW         = _PathStripPathW@?                    @549
     142    PathStripToRootA       = _PathStripToRootA@4                  @550
     143    PathStripToRootW       = _PathStripToRootW@4                  @551
     144  ; PathUndecorateA        = _PathUndecorateA@?                   @552  ; NT4
     145  ; PathUndecorateW        = _PathUndecorateW@?                   @553  ; NT4
     146  ; PathUnmakeSystemFolderA= _PathUnmakeSystemFolderA@?           @554
     147  ; PathUnmakeSystemFolderW= _PathUnmakeSystemFolderW@?           @555
     148    PathUnquoteSpacesA     = _PathUnquoteSpacesA@4                @556
     149  ;*PathUnquoteSpacesAW    = _PathUnquoteSpacesAW@4
     150    PathUnquoteSpacesW     = _PathUnquoteSpacesW@4                @557
     151  ; SHAutoComplete         = _SHAutoComplete@?                    @558  ; NT4
     152  ; SHCopyKeyA             = _SHCopyKeyA@?                        @559  ; NT4
     153  ; SHCopyKeyW             = _SHCopyKeyW@?                        @560  ; NT4
     154  ; SHCreateShellPalette   = _SHCreateShellPalette@?              @561
     155  ; SHCreateStreamOnFileA  = _SHCreateStreamOnFileA@?             @562  ; NT4
     156  ; SHCreateStreamOnFileAOld = _SHCreateStreamOnFileAOld@?        @315  ; NT4
     157  ; SHCreateStreamOnFileW  = _SHCreateStreamOnFileW@?             @563  ; NT4
     158  ; SHCreateStreamOnFileWOld = _SHCreateStreamOnFileWOld@?        @316  ; NT4
     159  ; SHCreateStreamWrapper  = _SHCreateStreamWrapper@?             @564  ; NT4
     160  ; SHCreateThread         = _SHCreateThread@?                    @565  ; NT4
     161  ; SHDeleteEmptyKeyA      = _SHDeleteEmptyKeyA@?                 @566
     162  ; SHDeleteEmptyKeyW      = _SHDeleteEmptyKeyW@?                 @567
     163  ; SHDeleteKeyA           = _SHDeleteKeyA@?                      @568
     164  ; SHDeleteKeyW           = _SHDeleteKeyW@?                      @569
     165  ; SHDeleteOrphanKeyA     = _SHDeleteOrphanKeyA@?                @570
     166  ; SHDeleteOrphanKeyW     = _SHDeleteOrphanKeyW@?                @571
     167  ; SHDeleteValueA         = _SHDeleteValueA@?                    @572
     168  ; SHDeleteValueW         = _SHDeleteValueW@?                    @573
     169  ; SHEnumKeyExA           = _SHEnumKeyExA@?                      @574
     170  ; SHEnumKeyExW           = _SHEnumKeyExW@?                      @575
     171  ; SHEnumValueA           = _SHEnumValueA@?                      @576
     172  ; SHEnumValueW           = _SHEnumValueW@?                      @577
     173  ; SHGetInverseCMAP       = _SHGetInverseCMAP@?                  @579
     174  ; SHGetThreadRef         = _SHGetThreadRef@?                    @580
     175    SHGetValueA            = _SHGetValueA@24                      @581
     176    SHGetValueW            = _SHGetValueW@24                      @582
     177  ; SHIsLowMemoryMachine   = _SHIsLowMemoryMachine@?              @583
     178  ; SHOpenRegStream2A      = _SHOpenRegStream2A@?                 @584
     179  ; SHOpenRegStream2W      = _SHOpenRegStream2W@?                 @585
     180  ; SHOpenRegStreamA       = _SHOpenRegStreamA@?                  @586
     181  ; SHOpenRegStreamW       = _SHOpenRegStreamW@?                  @587
     182  ; SHQueryInfoKeyA        = _SHQueryInfoKeyA@?                   @588
     183  ; SHQueryInfoKeyW        = _SHQueryInfoKeyW@?                   @589
     184  ; SHQueryValueExA        = _SHQueryValueExA@?                   @590
     185  ; SHQueryValueExW        = _SHQueryValueExW@?                   @591
     186  ; SHRegCloseUSKey        = _SHRegCloseUSKey@?                   @592
     187  ; SHRegCreateUSKeyA      = _SHRegCreateUSKeyA@?                 @593
     188  ; SHRegCreateUSKeyW      = _SHRegCreateUSKeyW@?                 @594
     189  ; SHRegDeleteEmptyUSKeyA = _SHRegDeleteEmptyUSKeyA@?            @595
     190  ; SHRegDeleteEmptyUSKeyW = _SHRegDeleteEmptyUSKeyW@?            @596
     191  ; SHRegDeleteUSKeyA      = _SHRegDeleteUSKeyA@?                 @597
     192  ; SHRegDeleteUSKeyW      = _SHRegDeleteUSKeyW@?                 @598
     193  ; SHRegDuplicateHKey     = _SHRegDuplicateHKey@?                @599
     194  ; SHRegEnumUSKeyA        = _SHRegEnumUSKeyA@?                   @600
     195  ; SHRegEnumUSKeyW        = _SHRegEnumUSKeyW@?                   @601
     196  ; SHRegEnumUSValueA      = _SHRegEnumUSValueA@?                 @602
     197  ; SHRegEnumUSValueA      = _SHRegEnumUSValueW@?                 @603
     198    SHRegGetBoolUSValueA   = _SHRegGetBoolUSValueA@20             @604
     199    SHRegGetBoolUSValueW   = _SHRegGetBoolUSValueW@20             @605
     200    SHRegGetUSValueA       = _SHRegGetUSValueA@32                 @606
     201    SHRegGetUSValueW       = _SHRegGetUSValueW@32                 @607
     202  ; SHRegOpenUSKeyA        = _SHRegOpenUSKeyA@?                   @608
     203  ; SHRegOpenUSKeyW        = _SHRegOpenUSKeyW@?                   @609
     204  ; SHRegQueryInfoKeyA     = _SHRegQueryInfoKeyA@?                @610
     205  ; SHRegQueryInfoKeyW     = _SHRegQueryInfoKeyW@?                @611
     206  ; SHRegQueryUSValueA     = _SHRegQueryUSValueA@?                @612
     207  ; SHRegQueryUSValueW     = _SHRegQueryUSValueW@?                @613
     208  ; SHRegSetUSValueA       = _SHRegSetUSValueA@?                  @614
     209  ; SHRegSetUSValueW       = _SHRegSetUSValueW@?                  @615
     210  ; SHRegWriteUSValueA     = _SHRegWriteUSValueA@?                @616
     211  ; SHRegWriteUSValueW     = _SHRegWriteUSValueW@?                @617
     212  ; SHSetThreadRef         = _SHSetThreadRef@?                    @618  ; NT4
     213  ; SHSetValueA            = _SHSetValueA@?                       @619  ; NT4
     214  ; SHSetValueW            = _SHSetValueW@?                       @620  ; NT4
     215  ; SHSkipJunction         = _SHSkipJunction@?                    @621  ; NT4
     216  ; SHStrDupA              = _SHStrDupA@?                         @622  ; NT4
     217  ; SHStrDupW              = _SHStrDupW@?                         @623  ; NT4
     218
     219  ; StrCSpnA               = _StrCSpnA@?                          @624
     220  ; StrCSpnIA              = _StrCSpnIA@?                         @625
     221  ; StrCSpnIW              = _StrCSpnIW@?                         @626
     222  ; StrCSpnW               = _StrCSpnW@?                          @627
     223  ; StrCatBuffA            = _StrCatBuffA@?                       @628
     224  ; StrCatBuffW            = _StrCatBuffW@?                       @629
     225  ; StrCatA ?
     226  ; StrCatW                = _StrCatW@?                           @630
     227    StrChrA                = _StrChrA@8                           @631
     228    StrChrIA               = _StrChrIA@8                          @632
     229    StrChrIW               = _StrChrIW@8                          @633
     230    StrChrW                = _StrChrW@8                           @634
     231  ; StrCmpIA ?
     232  ; StrCmpIW               = _StrCmpIW@?                          @635
     233  ; StrCmpNA               = _StrCmpNA@12                         @636
     234    StrCmpNIA              = _StrCmpNIA@12                        @637
     235    StrCmpNIW              = _StrCmpNIW@12                        @638
     236  ; StrCmpNW               = _StrCmpNW@12                         @639
     237  ; StrCmpA ?
     238  ; StrCmpW                = _StrCmpW@?                           @640
     239  ; StrCpyNW               = _StrCpyNW@?                          @641
     240  ; StrCpyW                = _StrCpyW@?                           @642
     241  ; StrDupA                = _StrDupA@?                           @643
     242  ; StrDupW                = _StrDupW@?                           @644
     243  ; StrFormatByteSize64A   = _StrFormatByteSize64A@?              @645  ; NT4
     244    StrFormatByteSizeA     = _StrFormatByteSizeA@12               @646
     245    StrFormatByteSizeW     = _StrFormatByteSizeW@12               @647
     246  ; StrFormatKBSizeA       = _StrFormatKBSizeA@?                  @648  ; NT4
     247  ; StrFormatKBSizeW       = _StrFormatKBSizeW@?                  @649  ; NT4
     248  ; StrFromTimeIntervalA   = _StrFromTimeIntervalA@?              @650
     249  ; StrFromTimeIntervalW   = _StrFromTimeIntervalW@?              @651
     250  ; StrIsIntlEqualA        = _StrIsIntlEqualA@?                   @652
     251  ; StrIsIntlEqualW        = _StrIsIntlEqualW@?                   @653
     252  ; StrNCatA               = _StrNCatA@?                          @654
     253  ; StrNCatW               = _StrNCatW@?                          @655
     254  ; StrPBrkA               = _StrPBrkA@?                          @656
     255  ; StrPBrkW               = _StrPBrkW@?                          @657
     256    StrRChrA               = _StrRChrA@12                         @658
     257  ; StrRChrIA              = _StrRChrIA@12                        @659
     258  ; StrRChrIW              = _StrRChrIW@12                        @660
     259    StrRChrW               = _StrRChrW@12                         @661
     260  ; StrRStrIA              = _StrRStrIA@?                         @662
     261  ; StrRStrIW              = _StrRStrIW@?                         @663
     262    StrRetToBufA           = _StrRetToBufA@16                     @664
     263    StrRetToBufW           = _StrRetToBufW@16                     @665
     264  ; StrRetToStrA           = _StrRetToStrA@16                     @666
     265  ; StrRetToStrW           = _StrRetToStrW@16                     @667
     266  ; StrSpnA                = _StrSpnA@?                           @668
     267  ; StrSpnW                = _StrSpnW@?                           @669
     268  ; StrStrA                = _StrStrA@8                           @670
     269    StrStrIA               = _StrStrIA@8                          @671
     270    StrStrIW               = _StrStrIW@8                          @672
     271  ; StrStrW                = _StrStrW@8                           @673
     272    StrToIntA              = _StrToIntA@4                         @674
     273  ; StrToIntExA            = _StrToIntExA@?                       @675
     274  ; StrToIntExW            = _StrToIntExW@?                       @676
     275  ; StrToIntW              = _StrToIntW@4                         @677
     276  ; StrTrimA               = _StrTrimA@?                          @678
     277  ; StrTrimW               = _StrTrimW@?                          @679
     278    UrlApplySchemeA        = _UrlApplySchemeA@16                  @680
     279    UrlApplySchemeW        = _UrlApplySchemeW@16                  @681
     280    UrlCanonicalizeA       = _UrlCanonicalizeA@16                 @682
     281    UrlCanonicalizeW       = _UrlCanonicalizeW@16                 @683
     282    UrlCombineA            = _UrlCombineA@20                      @684
     283    UrlCombineW            = _UrlCombineW@20                      @685
     284    UrlCompareA            = _UrlCompareA@12                      @686
     285    UrlCompareW            = _UrlCompareW@12                      @687
     286    UrlCreateFromPathA     = _UrlCreateFromPathA@16               @688
     287    UrlCreateFromPathW     = _UrlCreateFromPathW@16               @689
     288    UrlEscapeA             = _UrlEscapeA@16                       @690
     289    UrlEscapeW             = _UrlEscapeW@16                       @691
     290    UrlGetLocationA        = _UrlGetLocationA@4                   @692
     291    UrlGetLocationW        = _UrlGetLocationW@4                   @693
     292    UrlGetPartA            = _UrlGetPartA@20                      @694
     293    UrlGetPartW            = _UrlGetPartW@20                      @695
     294    UrlHashA               = _UrlHashA@12                         @696
     295    UrlHashW               = _UrlHashW@12                         @697
     296    UrlIsA                 = _UrlIsA@8                            @698
     297    UrlIsNoHistoryA        = _UrlIsNoHistoryA@4                   @699
     298    UrlIsNoHistoryW        = _UrlIsNoHistoryW@4                   @700
     299    UrlIsOpaqueA           = _UrlIsOpaqueA@4                      @701
     300    UrlIsOpaqueW           = _UrlIsOpaqueW@4                      @702
     301    UrlIsW                 = _UrlIsW@8                            @703
     302    UrlUnescapeA           = _UrlUnescapeA@16                     @704
     303    UrlUnescapeW           = _UrlUnescapeW@16                     @705
     304  ; _SHGetInstanceExplorer@4 = __SHGetInstanceExplorer@4@?        @578  ; NT4
     305  ; wnsprintfA             = _wnsprintfA@?                        @706  ; NT4
     306  ; wnsprintfW             = _wnsprintfW@?                        @707  ; NT4
     307  ; wvnsprintfA            = _wvnsprintfA@?                       @708  ; NT4
     308  ; wvnsprintfW            = _wvnsprintfW@?                       @709  ; NT4
  • trunk/src/shlwapi/url.cpp

    r3444 r3539  
    1 /* $Id: url.cpp,v 1.1 2000-04-25 01:59:36 phaller Exp $ */
     1/* $Id: url.cpp,v 1.2 2000-05-15 02:42:35 phaller Exp $ */
    22
    33/*
     
    3838#include <win\winerror.h>
    3939
    40 
     40#include "shlwapi.h"
    4141
    4242ODINDEBUGCHANNEL(SHLWAPI-URL)
Note: See TracChangeset for help on using the changeset viewer.