Ignore:
Timestamp:
Aug 16, 1999, 12:32:47 PM (26 years ago)
Author:
phaller
Message:

Add: more stubs for shell32

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/misc.cpp

    r183 r505  
    1 /* $Id: misc.cpp,v 1.2 1999-06-24 19:27:48 phaller Exp $ */
     1/* $Id: misc.cpp,v 1.3 1999-08-16 10:31:27 phaller Exp $ */
    22
    33/*
     
    2323#include <misc.h>
    2424#include <string.h>
     25#include "winbase.h"
    2526
    2627
     
    320321}
    321322
     323/*****************************************************************************
     324 * Name      : HICON WIN32API ExtractAssociatedIconExA
     325 * Purpose   : Return icon for given file (either from file itself or from associated
     326 *             executable) and patch parameters if needed.
     327 * Parameters: ???
     328 * Variables :
     329 * Result    :
     330 * Remark    : SHELL.150
     331 * Status    : UNTESTED UNKNOWN STUB
     332 *
     333 * Author    : Christoph Bratschi [Fri, 1999/08/6 20:00]
     334 *****************************************************************************/
     335
     336HICON WIN32API ExtractAssociatedIconExA(HINSTANCE hInst,
     337                                      LPSTR     lpIconPath,
     338                                      LPWORD    lpiIcon)
     339{
     340  dprintf(("SHELL32: undoc ExtractAssociatedIconExA\n"));
     341
     342  return ExtractAssociatedIconA(hInst,lpIconPath,lpiIcon);
     343}
    322344
    323345/*****************************************************************************
     
    355377}
    356378
     379/*****************************************************************************
     380 * Name      : HICON WIN32API ExtractAssociatedIconExW
     381 * Purpose   : Return icon for given file (either from file itself or from associated
     382 *             executable) and patch parameters if needed.
     383 * Parameters: ???
     384 * Variables :
     385 * Result    :
     386 * Remark    : SHELL.186
     387 * Status    : UNTESTED UNKNOWN STUB
     388 *
     389 * Author    : Christoph Bratschi [Fri, 1999/08/6 20:00]
     390 *****************************************************************************/
     391
     392HICON WIN32API ExtractAssociatedIconExW(HINSTANCE hInst,
     393                                      LPWSTR     lpIconPath,
     394                                      LPWORD    lpiIcon)
     395{
     396  dprintf(("SHELL32: undoc ExtractAssociatedIconExW\n"));
     397
     398  return ExtractAssociatedIconW(hInst,lpIconPath,lpiIcon);
     399}
    357400
    358401/*****************************************************************************
     
    11061149}
    11071150
     1151/*****************************************************************************
     1152 * Name      : StrCpyNW
     1153 * Purpose   :
     1154 * Parameters:
     1155 * Variables :
     1156 * Result    :
     1157 * Remark    : SHELL32.310 - used by winfile.exe
     1158 * Status    : UNTESTED UNKNOWN STUB
     1159 *
     1160 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1161 *****************************************************************************/
     1162
     1163LPWSTR WIN32API StrCpyNW(LPWSTR lpString1,LPWSTR lpString2,int iMaxLength)
     1164{
     1165  dprintf(("SHELL32: undoc StrCpyNW\n"));
     1166
     1167  return lstrcpynW(lpString1,lpString2,iMaxLength);
     1168}
     1169
     1170/*****************************************************************************
     1171 * Name      : StrNCpyW
     1172 * Purpose   :
     1173 * Parameters:
     1174 * Variables :
     1175 * Result    :
     1176 * Remark    : SHELL32.316 - used by winfile.exe
     1177 * Status    : UNTESTED UNKNOWN STUB
     1178 *
     1179 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1180 *****************************************************************************/
     1181
     1182LPWSTR WIN32API StrNCpyW(LPWSTR lpString1,LPWSTR lpString2)
     1183{
     1184  dprintf(("SHELL32: undoc StrNCpyW\n"));
     1185
     1186  return lstrcpyW(lpString1,lpString2);
     1187}
     1188
     1189/*****************************************************************************
     1190 * Name      : FreeIconList
     1191 * Purpose   :
     1192 * Parameters:
     1193 * Variables :
     1194 * Result    :
     1195 * Remark    : SHELL32.220 - used by progman.exe
     1196 * Status    : UNTESTED UNKNOWN STUB
     1197 *
     1198 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1199 *****************************************************************************/
     1200
     1201void WIN32API FreeIconList(DWORD dw)
     1202{
     1203  dprintf(("SHELL32: undoc FreeIconList %08xh\n",dw));
     1204}
     1205
     1206/*****************************************************************************
     1207 * Name      : InternalExtractIconListA
     1208 * Purpose   :
     1209 * Parameters: ???
     1210 * Variables :
     1211 * Result    :
     1212 * Remark    : SHELL32.221 - used by progman.exe
     1213 * Status    : UNTESTED UNKNOWN STUB
     1214 *
     1215 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1216 *****************************************************************************/
     1217
     1218void WIN32API InternalExtractIconListA(VOID)
     1219{
     1220  dprintf(("SHELL32: undoc InternalExtractIconListA \n"));
     1221}
     1222
     1223/*****************************************************************************
     1224 * Name      : InternalExtractIconListW
     1225 * Purpose   :
     1226 * Parameters: ???
     1227 * Variables :
     1228 * Result    :
     1229 * Remark    : SHELL32.222 - used by progman.exe
     1230 * Status    : UNTESTED UNKNOWN STUB
     1231 *
     1232 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1233 *****************************************************************************/
     1234
     1235void WIN32API InternalExtractIconListW(VOID)
     1236{
     1237  dprintf(("SHELL32: undoc InternalExtractIconListW\n"));
     1238}
     1239
     1240/*****************************************************************************
     1241 * Name      : ExtractIconResInfoA
     1242 * Purpose   :
     1243 * Parameters: ???
     1244 * Variables :
     1245 * Result    :
     1246 * Remark    : SHELL32.192 - used by progman.exe
     1247 * Status    : UNTESTED UNKNOWN STUB
     1248 *
     1249 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1250 *****************************************************************************/
     1251
     1252void WIN32API ExtractIconResInfoA(VOID)
     1253{
     1254  dprintf(("SHELL32: undoc ExtractIconResInfoA\n"));
     1255}
     1256
     1257/*****************************************************************************
     1258 * Name      : ExtractIconResInfoW
     1259 * Purpose   :
     1260 * Parameters: ???
     1261 * Variables :
     1262 * Result    :
     1263 * Remark    : SHELL32.193 - used by progman.exe
     1264 * Status    : UNTESTED UNKNOWN STUB
     1265 *
     1266 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1267 *****************************************************************************/
     1268
     1269void WIN32API ExtractIconResInfoW(VOID)
     1270{
     1271  dprintf(("SHELL32: undoc ExtractIconResInfoW\n"));
     1272}
     1273
     1274INT WINAPI lstrncmpiA( LPCSTR str1, LPCSTR str2, INT n )
     1275{
     1276  //CB: implement!
     1277  return 0;
     1278}
     1279
     1280/*************************************************************************
     1281 *                              FindEnvironmentString   [SHELL.38]
     1282 *
     1283 * Returns a pointer into the DOS environment... Ugh.
     1284 */
     1285LPSTR SHELL_FindStringA(LPSTR lpEnv, LPCSTR entry)
     1286{ UINT16 l;
     1287
     1288  //TRACE_(shell)("\n");
     1289
     1290  l = strlen(entry);
     1291  for( ; *lpEnv ; lpEnv+=strlen(lpEnv)+1 )
     1292  { if( lstrncmpiA(lpEnv, entry, l) )
     1293      continue;
     1294        if( !*(lpEnv+l) )
     1295            return (lpEnv + l);                 /* empty entry */
     1296        else if ( *(lpEnv+l)== '=' )
     1297            return (lpEnv + l + 1);
     1298    }
     1299    return NULL;
     1300}
     1301
     1302/*****************************************************************************
     1303 * Name      : DoEnvironmentSubstA
     1304 * Purpose   :
     1305 * Parameters: ??? ported WINE 16 bit function
     1306 * Variables :
     1307 * Result    :
     1308 * Remark    : SHELL32.44 - used by progman.exe
     1309 * Status    : UNTESTED UNKNOWN STUB
     1310 *
     1311 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1312 *****************************************************************************/
     1313
     1314DWORD WIN32API DoEnvironmentSubstA(LPSTR str,DWORD length)
     1315{
     1316  LPSTR   lpEnv = (LPSTR)GetEnvironmentStringsA();
     1317  LPSTR   lpBuffer = (LPSTR)HeapAlloc( GetProcessHeap(), 0, length);
     1318  LPSTR   lpstr = str;
     1319  LPSTR   lpbstr = lpBuffer;
     1320
     1321  dprintf(("SHELL32: undoc DoEnvironmentSubstA\n"));
     1322
     1323  CharToOemA(str,str);
     1324
     1325  while( *lpstr && lpbstr - lpBuffer < length )
     1326   {
     1327     LPSTR lpend = lpstr;
     1328
     1329     if( *lpstr == '%' )
     1330       {
     1331          do { lpend++; } while( *lpend && *lpend != '%' );
     1332          if( *lpend == '%' && lpend - lpstr > 1 )      /* found key */
     1333            {
     1334               LPSTR lpKey;
     1335              *lpend = '\0';
     1336               lpKey = SHELL_FindStringA(lpEnv, lpstr+1);
     1337               if( lpKey )                              /* found key value */
     1338                 {
     1339                   int l = strlen(lpKey);
     1340
     1341                   if( l > length - (lpbstr - lpBuffer) - 1 )
     1342                     {
     1343           //WARN_(shell)("-- Env subst aborted - string too short\n");
     1344                      *lpend = '%';
     1345                       break;
     1346                     }
     1347                   strcpy(lpbstr, lpKey);
     1348                   lpbstr += l;
     1349                 }
     1350               else break;
     1351              *lpend = '%';
     1352               lpstr = lpend + 1;
     1353            }
     1354          else break;                                   /* back off and whine */
     1355
     1356          continue;
     1357       }
     1358
     1359     *lpbstr++ = *lpstr++;
     1360   }
     1361
     1362 *lpbstr = '\0';
     1363  if( lpstr - str == strlen(str) )
     1364    {
     1365      strncpy(str, lpBuffer, length);
     1366      length = 1;
     1367    }
     1368  else
     1369      length = 0;
     1370
     1371  //TRACE_(shell)("-- return %s\n", str);
     1372
     1373  OemToCharA(str,str);
     1374  HeapFree( GetProcessHeap(), 0, lpBuffer);
     1375
     1376  FreeEnvironmentStringsA(lpEnv);
     1377
     1378  /*  Return str length in the LOWORD
     1379   *  and 1 in HIWORD if subst was successful.
     1380   */
     1381
     1382 return (DWORD)MAKELONG(strlen(str), length);
     1383}
     1384
     1385/*****************************************************************************
     1386 * Name      : DoEnvironmentSubstW
     1387 * Purpose   :
     1388 * Parameters: ???
     1389 * Variables :
     1390 * Result    :
     1391 * Remark    : SHELL32.193 - used by progman.exe
     1392 * Status    : UNTESTED UNKNOWN STUB
     1393 *
     1394 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1395 *****************************************************************************/
     1396
     1397DWORD WIN32API DoEnvironmentSubstW(LPWSTR str,DWORD length)
     1398{
     1399  //CB: call DoEnvironmentSubstW
     1400  dprintf(("SHELL32: undoc DoEnvironmentSubstW\n"));
     1401
     1402  return 0;
     1403}
     1404
     1405/*****************************************************************************
     1406 * Name      : CheckEscapesA
     1407 * Purpose   :
     1408 * Parameters: ???
     1409 * Variables :
     1410 * Result    :
     1411 * Remark    : SHELL32.3 - used by progman.exe
     1412 * Status    : UNTESTED UNKNOWN STUB
     1413 *
     1414 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1415 *****************************************************************************/
     1416
     1417void WIN32API CheckEscapesA(DWORD x1,DWORD x2)
     1418{
     1419  dprintf(("SHELL32: undoc CheckEscapesA\n"));
     1420}
     1421
     1422/*****************************************************************************
     1423 * Name      : CheckEscapesW
     1424 * Purpose   :
     1425 * Parameters: ???
     1426 * Variables :
     1427 * Result    :
     1428 * Remark    : SHELL32.6 - used by progman.exe
     1429 * Status    : UNTESTED UNKNOWN STUB
     1430 *
     1431 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1432 *****************************************************************************/
     1433
     1434void WIN32API CheckEscapesW(DWORD x1,DWORD x2)
     1435{
     1436  dprintf(("SHELL32: undoc CheckEscapesW\n"));
     1437}
     1438
     1439/*****************************************************************************
     1440 * Name      : DuplicateIcon
     1441 * Purpose   :
     1442 * Parameters: ???
     1443 * Variables :
     1444 * Result    :
     1445 * Remark    : SHELL32.138 - used by progman.exe
     1446 * Status    : UNTESTED UNKNOWN STUB
     1447 *
     1448 * Author    : Christoph Bratschi [Fri, 1999/08/6 19:00]
     1449 *****************************************************************************/
     1450
     1451DWORD WIN32API DuplicateIcon(DWORD x1)
     1452{
     1453  dprintf(("SHELL32: undoc DuplicateIcon\n"));
     1454
     1455  return 0;
     1456}
Note: See TracChangeset for help on using the changeset viewer.