- Timestamp:
- Jun 12, 2000, 1:35:14 PM (25 years ago)
- 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:37phaller Exp $ */1 /* $Id: ordinal.cpp,v 1.3 2000-06-12 11:35:13 phaller Exp $ */ 2 2 3 3 /* … … 916 916 917 917 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 930 ODINFUNCTION6(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 1000 ODINFUNCTION6(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 918 1044 /************************************************************************* 919 1045 * SHLWAPI_193 [SHLWAPI] … … 1037 1163 1038 1164 /***************************************************************************** 1039 * Name : LRESULT DefWindowProcAW1040 * Purpose : 1165 * Name : SHLWAPI_240 1166 * Purpose : universal window procedure 1041 1167 * Parameters: 1042 1168 * Variables : 1043 1169 * Result : 1044 * Remark : SHLWAPI.240 - this version has dynamic unicode behaviour1170 * Remark : SHLWAPI.240 1045 1171 * Status : UNTESTED 1046 1172 * … … 1048 1174 *****************************************************************************/ 1049 1175 1050 ODINFUNCTION4( LRESULT, DefWindowProcAW,1051 HWND, hWnd,1052 UINT, 1053 WPARAM, 1054 LPARAM, 1055 { 1056 if (IsWindowUnicode(h Wnd))1057 return DefWindowProcW(h Wnd, Msg, wParam, lParam);1176 ODINFUNCTION4(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); 1058 1184 else 1059 return DefWindowProcA(h Wnd, Msg, wParam, lParam);1185 return DefWindowProcA(hwnd, Msg, wParam, lParam); 1060 1186 } 1061 1187 … … 1070 1196 return 0xabba1243; 1071 1197 } 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 1212 ODINFUNCTION5(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 1072 1223 1073 1224 /************************************************************************* … … 1186 1337 1187 1338 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 1351 ODINFUNCTION0(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 1188 1365 1189 1366 /************************************************************************* 1190 1367 * SHLWAPI_377 [SHLWAPI] 1191 1368 */ 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; 1369 ODINFUNCTION3(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; 1199 1414 } 1200 1415 -
trunk/src/shlwapi/reg.cpp
r3687 r3688 1 /* $Id: reg.cpp,v 1. 2 2000-06-12 08:09:39phaller Exp $ */1 /* $Id: reg.cpp,v 1.3 2000-06-12 11:35:14 phaller Exp $ */ 2 2 3 3 /* … … 180 180 *****************************************************************************/ 181 181 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 182 ODINFUNCTION4(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 194 224 return ERROR_SUCCESS; /* return success */ 195 225 } … … 208 238 *****************************************************************************/ 209 239 210 ODINFUNCTION5(LONG, SHRegGetBoolUSValueW, 211 LPCWSTR, pSubKey, 212 DWORD, arg2, 213 DWORD, arg3, 214 DWORD, arg4, 215 DWORD, arg5) 240 ODINFUNCTION4(BOOL, SHRegGetBoolUSValueW, 241 LPCWSTR, pszSubKey, 242 LPCWSTR, pszValue, 243 BOOL, fIgnoreHKCU, 244 BOOL, fDefault) 216 245 { 217 246 char szBuffer[264]; 218 247 int iLength; 219 248 220 dprintf(("(%p),stub!\n", p SubKey));249 dprintf(("(%p),stub!\n", pszSubKey)); 221 250 222 251 return ERROR_SUCCESS; /* return success */ -
trunk/src/shlwapi/shlwapi.def
r3687 r3688 1 ; $Id: shlwapi.def,v 1.1 6 2000-06-12 08:09:41phaller Exp $1 ; $Id: shlwapi.def,v 1.17 2000-06-12 11:35:14 phaller Exp $ 2 2 3 3 ; updated export ordinals to NT4 SP6 version of SHLWAPI.DLL … … 165 165 _SHLWAPI_169@4 @169 166 166 _SHLWAPI_170@4 @170 167 _SHLWAPI_185@24 @185 168 _SHLWAPI_191@24 @191 167 169 _SHLWAPI_193@0 @193 168 170 _SHLWAPI_197@12 @197 … … 171 173 _SHLWAPI_223@4 @223 172 174 _SHLWAPI_237@4 @237 173 _ DefWindowProcAW@16@240175 _SHLWAPI_240@16 @240 174 176 _SHLWAPI_241@0 @241 177 _SHLWAPI_243@20 @243 175 178 ; AssocCreate = _AssocCreate@20 @253 176 179 ; AssocQueryKeyA = _AssocQueryKeyA@20 @254 … … 186 189 _SHLWAPI_346@12 @346 187 190 _SHLWAPI_364@12 @364 191 _SHLWAPI_376@0 @376 188 192 _SHLWAPI_377@12 @377 189 193 ; AssocQueryStringA = _AssocQueryStringA@20 @381 … … 358 362 ; SHRegEnumUSValueA = _SHRegEnumUSValueA@? @603 359 363 ; SHRegEnumUSValueA = _SHRegEnumUSValueW@? @604 360 SHRegGetBoolUSValueA = _SHRegGetBoolUSValueA@ 20@605361 SHRegGetBoolUSValueW = _SHRegGetBoolUSValueW@ 20@606364 SHRegGetBoolUSValueA = _SHRegGetBoolUSValueA@16 @605 365 SHRegGetBoolUSValueW = _SHRegGetBoolUSValueW@16 @606 362 366 SHRegGetUSValueA = _SHRegGetUSValueA@32 @607 363 367 SHRegGetUSValueW = _SHRegGetUSValueW@32 @608 … … 399 403 StrCpyA = _StrCpyA@8 ; not exported ? 400 404 StrCpyW = _StrCpyW@8 @643 401 ; StrDupA = _StrDupA@?@644405 StrDupA = _StrDupA@4 @644 402 406 StrDupW = _StrDupW@4 @645 403 407 ; 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 $ */ 2 2 3 3 /* … … 31 31 *****************************************************************************/ 32 32 33 // REG.CPP 34 BOOL WIN32API SHRegGetBoolUSValueA(LPCSTR pszSubKey, 35 LPCSTR pszValue, 36 BOOL fIgnoreHKCU, 37 BOOL fDefault); 38 39 BOOL WIN32API SHRegGetBoolUSValueW(LPCWSTR pszSubKey, 40 LPCWSTR pszValue, 41 BOOL fIgnoreHKCU, 42 BOOL fDefault); 43 44 LONG 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 54 LPSTR WIN32API PathRemoveFileSpecA(LPSTR lpstrFilename); 55 LPSTR WIN32API PathAppendA(LPSTR lpstrPath, 56 LPSTR lpstrAppend); 57 58 // STRING.CPP 33 59 LPSTR WIN32API StrStrIA(LPCSTR lpFirst, LPCSTR lpSrch); 34 60
Note:
See TracChangeset
for help on using the changeset viewer.