Changeset 3688 for trunk/src


Ignore:
Timestamp:
Jun 12, 2000, 1:35:14 PM (25 years ago)
Author:
phaller
Message:

.

Location:
trunk/src/shlwapi
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shlwapi/ordinal.cpp

    r3687 r3688  
    1 /* $Id: ordinal.cpp,v 1.2 2000-06-12 08:09:37 phaller Exp $ */
     1/* $Id: ordinal.cpp,v 1.3 2000-06-12 11:35:13 phaller Exp $ */
    22
    33/*
     
    916916
    917917
     918/*****************************************************************************
     919 * Name      : SHLWAPI_185
     920 * Purpose   : some M$ nag screen ?
     921 * Parameters:
     922 * Variables :
     923 * Result    :
     924 * Remark    : SHLWAPI.185
     925 * Status    : UNTESTED
     926 *
     927 * Author    : Patrick Haller [Sun, 2000/06/10 04:02]
     928 *****************************************************************************/
     929
     930ODINFUNCTION6(DWORD,   SHLWAPI_185,
     931              DWORD, arg0,
     932              LPSTR, lpStr1,
     933              LPSTR, lpStr2,
     934              DWORD, arg3,
     935              DWORD, dwDefault,
     936              LPSTR, lpstrValueName)
     937{
     938  BOOL  fDontShow;
     939  WCHAR szValueNameW[256];
     940 
     941  fDontShow = SHRegGetBoolUSValueA("Software\\Microsoft\\Windows\\CurrentVersion\\"
     942                                   "Explorer\\DontShowMeThisDialogAgain",
     943                                   lpstrValueName,
     944                                   0,
     945                                   1);
     946  if (fDontShow == FALSE)
     947    return dwDefault;
     948 
     949  int iLength1 = lstrlenA(lpStr1)+1;
     950  HLOCAL hLocal1 = LocalAlloc(LMEM_ZEROINIT,
     951                              iLength1 << 1);
     952  if (hLocal1 == NULL)
     953    return dwDefault;
     954 
     955  int iLength2 = lstrlenA(lpStr2)+1;
     956  HLOCAL hLocal2 = LocalAlloc(LMEM_ZEROINIT,
     957                              iLength2 << 1);
     958  if (hLocal2 == NULL)
     959  {
     960    LocalFree(hLocal1);
     961    return dwDefault;
     962  }
     963 
     964#if 0
     965  // convert all ascii values to Unicode
     966  SHLWAPI_215(lpStr1, (LPWSTR)hLocal1, iLength1);
     967  SHLWAPI_215(lpStr2, (LPWSTR)hLocal2, iLength2);
     968  SHLWAPI_215(lpstrValueName,  szValueNameW, 256);
     969 
     970  // do something
     971  dwDefault = SHLWAPI_191(arg0,
     972              (LPWSTR)hLocal1,
     973              arg3,
     974              dwDefault,
     975              szValueNameW);
     976#endif
     977 
     978  if (hLocal1)
     979    LocalFree(hLocal1);
     980 
     981  if (hLocal2)
     982    LocalFree(hLocal2);
     983 
     984  return dwDefault;
     985}
     986
     987
     988/*****************************************************************************
     989 * Name      : SHLWAPI_191
     990 * Purpose   : display some M$ nag screen if enabled
     991 * Parameters:
     992 * Variables :
     993 * Result    :
     994 * Remark    : SHLWAPI.191
     995 * Status    : UNTESTED
     996 *
     997 * Author    : Patrick Haller [Sun, 2000/06/10 04:02]
     998 *****************************************************************************/
     999
     1000ODINFUNCTION6(DWORD,  SHLWAPI_191,
     1001              HWND,   hwndParent,
     1002              DWORD,  arg1,
     1003              DWORD,  arg2,
     1004              DWORD,  arg3,
     1005              DWORD,  dwDefault,
     1006              LPWSTR, lpstrDialog)
     1007{
     1008  BOOL rc = SHRegGetBoolUSValueW((LPCWSTR)L"Software\\Microsoft\\Windows\\CurrentVersion"
     1009                                 L"\\Explorer\\DontShowMeThisDialogAgain",
     1010                                 lpstrDialog,
     1011                                 0,
     1012                                 1);
     1013  if (rc == FALSE)
     1014    return dwDefault;
     1015 
     1016  static HINSTANCE hShellInstance; // @@@PH where to put / initialize?
     1017 
     1018#if 0
     1019  struct
     1020  {
     1021    DWORD s1;
     1022    DWORD s2;
     1023    DWORD s3;
     1024    DWORD s4;
     1025  } sInit;
     1026 
     1027  sInit.s1 = "software...";
     1028  sInit.s2 = arg1;
     1029  sInit.s3 = arg2;
     1030  sInit.s4 = arg3;
     1031 
     1032  return DialogBoxParamW(hShellInstance,
     1033                         0x1200,          // some template
     1034                         hwndParent,
     1035                         i_DialogProc,
     1036                         &sInit);
     1037#endif
     1038
     1039  return dwDefault;
     1040}
     1041
     1042
     1043
    9181044/*************************************************************************
    9191045*      SHLWAPI_193 [SHLWAPI]
     
    10371163
    10381164/*****************************************************************************
    1039  * Name      : LRESULT DefWindowProcAW
    1040  * Purpose   :
     1165 * Name      : SHLWAPI_240
     1166 * Purpose   : universal window procedure
    10411167 * Parameters:
    10421168 * Variables :
    10431169 * Result    :
    1044  * Remark    : SHLWAPI.240 - this version has dynamic unicode behaviour
     1170 * Remark    : SHLWAPI.240
    10451171 * Status    : UNTESTED
    10461172 *
     
    10481174 *****************************************************************************/
    10491175
    1050 ODINFUNCTION4(LRESULT,      DefWindowProcAW,
    1051               HWND,         hWnd,
    1052               UINT,         Msg,
    1053               WPARAM,       wParam,
    1054               LPARAM,       lParam)
    1055 {
    1056   if (IsWindowUnicode(hWnd))
    1057     return DefWindowProcW(hWnd, Msg, wParam, lParam);
     1176ODINFUNCTION4(DWORD,  SHLWAPI_240,
     1177              HWND,   hwnd,
     1178              UINT,   Msg,
     1179              WPARAM, wParam,
     1180              LPARAM, lParam)
     1181{
     1182  if (IsWindowUnicode(hwnd))
     1183    return DefWindowProcW(hwnd, Msg, wParam, lParam);
    10581184  else
    1059     return DefWindowProcA(hWnd, Msg, wParam, lParam);
     1185    return DefWindowProcA(hwnd, Msg, wParam, lParam);
    10601186}
    10611187
     
    10701196  return 0xabba1243;
    10711197}
     1198
     1199
     1200/*****************************************************************************
     1201 * Name      : SHLWAPI_243
     1202 * Purpose   : does something critical, even with performance counters
     1203 * Parameters:
     1204 * Variables :
     1205 * Result    :
     1206 * Remark    : SHLWAPI.243
     1207 * Status    : UNTESTED
     1208 *
     1209 * Author    : Patrick Haller [Sun, 2000/06/10 04:02]
     1210 *****************************************************************************/
     1211
     1212ODINFUNCTION5(DWORD, SHLWAPI_243,
     1213              DWORD, arg0,
     1214              DWORD, arg1,
     1215              DWORD, arg2,
     1216              DWORD, arg3,
     1217              DWORD, arg4)
     1218{
     1219  dprintf(("not implementes.\n"));
     1220  return 0;
     1221}
     1222
    10721223
    10731224/*************************************************************************
     
    11861337
    11871338
     1339/*****************************************************************************
     1340 * Name      : DWORD SHLWAPI_376
     1341 * Purpose   : Try to determine user interface language
     1342 * Parameters:
     1343 * Variables :
     1344 * Result    :
     1345 * Remark    : SHLWAPI.366
     1346 * Status    : UNTESTED
     1347 *
     1348 * Author    : Patrick Haller [Sun, 2000/06/10 04:02]
     1349 *****************************************************************************/
     1350
     1351ODINFUNCTION0(DWORD, SHLWAPI_376)
     1352{
     1353  /* Microsoft does a hell of a job here: looks for
     1354   * - Internet Explorer
     1355   * - Office
     1356   * - Lpk ?
     1357   * - Resource Locales
     1358   * - etc.
     1359   */
     1360 
     1361  return 0x0409; // @@@PH maybe this is 'nuf for now.
     1362}
     1363
     1364
    11881365
    11891366/*************************************************************************
    11901367*      SHLWAPI_377 [SHLWAPI]
    11911368*/
    1192 ODINFUNCTION3(DWORD,  SHLWAPI_377,
    1193               LPVOID, x,
    1194               LPVOID, y,
    1195               LPVOID, z)
    1196 {
    1197   FIXME("(%p %p %p)stub\n", x,y,z);
    1198   return 0xabba1246;
     1369ODINFUNCTION3(DWORD,   SHLWAPI_377,
     1370              LPSTR,   lpstrModule,
     1371              HMODULE, hModule,
     1372              LPVOID,  z)
     1373{
     1374  static BOOL flagSHLWAPI_377Initialized       = FALSE;
     1375  static BOOL flagInternetExplorerCheckVersion = FALSE;
     1376 
     1377  dprintf(("not (properly) implemented.\n"));
     1378 
     1379  char szModuleName[260]; // MAXPATHLEN
     1380  HMODULE hModLanguage;
     1381 
     1382  // initialize this subsystem
     1383  if (flagSHLWAPI_377Initialized == FALSE)
     1384  {
     1385    flagSHLWAPI_377Initialized = TRUE;
     1386   
     1387    flagInternetExplorerCheckVersion =
     1388    SHRegGetBoolUSValueA("Software\\Microsoft\\Internet Explorer\\International",
     1389                         "CheckVersion",
     1390                         1,
     1391                         1);
     1392  }
     1393 
     1394  if (lpstrModule == NULL) // Garbage in - garbage out
     1395    return 0;
     1396 
     1397  if (0 == GetModuleFileNameA(hModule,
     1398                              szModuleName,
     1399                              sizeof(szModuleName)))
     1400  {
     1401    // treat error
     1402  }
     1403  else
     1404  {
     1405    PathRemoveFileSpecA(szModuleName);
     1406    PathAppendA(szModuleName,
     1407                lpstrModule);
     1408    // @@@PH twiddle around with the current IE codepage
     1409    hModLanguage = LoadLibraryA(szModuleName);
     1410  }
     1411
     1412 
     1413  return hModLanguage;
    11991414}
    12001415
  • trunk/src/shlwapi/reg.cpp

    r3687 r3688  
    1 /* $Id: reg.cpp,v 1.2 2000-06-12 08:09:39 phaller Exp $ */
     1/* $Id: reg.cpp,v 1.3 2000-06-12 11:35:14 phaller Exp $ */
    22
    33/*
     
    180180 *****************************************************************************/
    181181
    182 ODINFUNCTION5(LONG,    SHRegGetBoolUSValueA,
    183               LPCSTR,  pSubKey,
    184               DWORD,   arg2,
    185               DWORD,   arg3,
    186               DWORD,   arg4,
    187               DWORD,   arg5)
    188 {
    189   char  szBuffer[264];
    190   int   iLength;
    191 
    192   dprintf(("(%p),stub!\n", pSubKey));
    193 
     182ODINFUNCTION4(BOOL,    SHRegGetBoolUSValueA,
     183              LPCSTR,  pszSubKey,
     184              LPCSTR,  pszValue,
     185              BOOL,    fIgnoreHKCU,
     186              BOOL,    fDefault)
     187{
     188  char  szBuffer[260];
     189  DWORD dwLength = sizeof(szBuffer);
     190  LONG  rc;
     191 
     192  dprintf(("subkey=%s, value=%s\n",
     193           pszSubKey,
     194           pszValue));
     195 
     196  rc = SHRegGetUSValueA(pszSubKey,
     197                        pszValue,
     198                        &fDefault,
     199                        szBuffer,
     200                        &dwLength,
     201                        fIgnoreHKCU,
     202                        fDefault ? "YES" : "NO",
     203                        fDefault ? 4 : 3);
     204  if (rc != ERROR_SUCCESS)
     205    return rc;
     206 
     207  if (lstrcmpiA("YES",
     208                szBuffer) == 0)
     209    return 1;
     210  else
     211  if (lstrcmpiA("TRUE",
     212                szBuffer) == 0)
     213    return 1;
     214  else
     215  if (lstrcmpiA("NO",
     216                szBuffer) == 0)
     217    return 0;
     218  else
     219  if (lstrcmpiA("FALSE",
     220                szBuffer) == 0)
     221    return 0;
     222 
     223 
    194224  return ERROR_SUCCESS;  /* return success */
    195225}
     
    208238 *****************************************************************************/
    209239
    210 ODINFUNCTION5(LONG,    SHRegGetBoolUSValueW,
    211               LPCWSTR, pSubKey,
    212               DWORD,   arg2,
    213               DWORD,   arg3,
    214               DWORD,   arg4,
    215               DWORD,   arg5)
     240ODINFUNCTION4(BOOL,    SHRegGetBoolUSValueW,
     241              LPCWSTR, pszSubKey,
     242              LPCWSTR, pszValue,
     243              BOOL,    fIgnoreHKCU,
     244              BOOL,    fDefault)
    216245{
    217246  char  szBuffer[264];
    218247  int   iLength;
    219248
    220   dprintf(("(%p),stub!\n", pSubKey));
     249  dprintf(("(%p),stub!\n", pszSubKey));
    221250
    222251  return ERROR_SUCCESS;  /* return success */
  • trunk/src/shlwapi/shlwapi.def

    r3687 r3688  
    1 ; $Id: shlwapi.def,v 1.16 2000-06-12 08:09:41 phaller Exp $
     1; $Id: shlwapi.def,v 1.17 2000-06-12 11:35:14 phaller Exp $
    22
    33; updated export ordinals to NT4 SP6 version of SHLWAPI.DLL
     
    165165                             _SHLWAPI_169@4                       @169
    166166                             _SHLWAPI_170@4                       @170
     167                             _SHLWAPI_185@24                      @185
     168                             _SHLWAPI_191@24                      @191
    167169                             _SHLWAPI_193@0                       @193
    168170                             _SHLWAPI_197@12                      @197
     
    171173                             _SHLWAPI_223@4                       @223
    172174                             _SHLWAPI_237@4                       @237
    173                              _DefWindowProcAW@16                  @240
     175                             _SHLWAPI_240@16                      @240
    174176                             _SHLWAPI_241@0                       @241
     177                             _SHLWAPI_243@20                      @243
    175178;   AssocCreate            = _AssocCreate@20                      @253
    176179;   AssocQueryKeyA         = _AssocQueryKeyA@20                   @254
     
    186189                             _SHLWAPI_346@12                      @346
    187190                             _SHLWAPI_364@12                      @364
     191                             _SHLWAPI_376@0                       @376
    188192                             _SHLWAPI_377@12                      @377
    189193;   AssocQueryStringA      = _AssocQueryStringA@20                @381
     
    358362  ; SHRegEnumUSValueA      = _SHRegEnumUSValueA@?                 @603
    359363  ; SHRegEnumUSValueA      = _SHRegEnumUSValueW@?                 @604
    360     SHRegGetBoolUSValueA   = _SHRegGetBoolUSValueA@20             @605
    361     SHRegGetBoolUSValueW   = _SHRegGetBoolUSValueW@20             @606
     364    SHRegGetBoolUSValueA   = _SHRegGetBoolUSValueA@16             @605
     365    SHRegGetBoolUSValueW   = _SHRegGetBoolUSValueW@16             @606
    362366    SHRegGetUSValueA       = _SHRegGetUSValueA@32                 @607
    363367    SHRegGetUSValueW       = _SHRegGetUSValueW@32                 @608
     
    399403    StrCpyA                = _StrCpyA@8                                 ; not exported ?
    400404    StrCpyW                = _StrCpyW@8                           @643
    401   ; StrDupA                = _StrDupA@?                           @644
     405    StrDupA                = _StrDupA@4                           @644
    402406    StrDupW                = _StrDupW@4                           @645
    403407;   StrFormatByteSize64A   = _StrFormatByteSize64A@16             @646
  • trunk/src/shlwapi/shlwapi.h

    r3687 r3688  
    1 /* $Id: shlwapi.h,v 1.2 2000-06-12 08:09:44 phaller Exp $ */
     1/* $Id: shlwapi.h,v 1.3 2000-06-12 11:35:14 phaller Exp $ */
    22
    33/*
     
    3131 *****************************************************************************/
    3232   
     33// REG.CPP
     34BOOL WIN32API SHRegGetBoolUSValueA(LPCSTR pszSubKey,
     35                                   LPCSTR pszValue,
     36                                   BOOL   fIgnoreHKCU,
     37                                   BOOL   fDefault);
     38   
     39BOOL WIN32API SHRegGetBoolUSValueW(LPCWSTR pszSubKey,
     40                                   LPCWSTR pszValue,
     41                                   BOOL    fIgnoreHKCU,
     42                                   BOOL    fDefault);
     43   
     44LONG WIN32API SHRegGetUSValueA(LPCSTR   pSubKey,
     45                               LPCSTR   pValue,
     46                               LPDWORD  pwType,
     47                               LPVOID   pvData,
     48                               LPDWORD  pbData,
     49                               BOOL     fIgnoreHKCU,
     50                               LPVOID   pDefaultData,
     51                               DWORD    wDefaultDataSize);
     52   
     53// PATH.CPP
     54LPSTR WIN32API PathRemoveFileSpecA(LPSTR lpstrFilename);
     55LPSTR WIN32API PathAppendA(LPSTR lpstrPath,
     56                           LPSTR lpstrAppend);
     57   
     58// STRING.CPP
    3359LPSTR WIN32API StrStrIA(LPCSTR lpFirst, LPCSTR lpSrch);
    3460   
Note: See TracChangeset for help on using the changeset viewer.