- Timestamp:
- Apr 15, 2001, 11:06:50 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/registry.cpp
r5154 r5505 1 /* $Id: registry.cpp,v 1. 9 2001-02-17 19:37:17sandervl Exp $ */1 /* $Id: registry.cpp,v 1.10 2001-04-15 09:06:50 sandervl Exp $ */ 2 2 3 3 /* … … 864 864 ODINFUNCTION6(LONG,RegQueryValueExA,HKEY, hkey, 865 865 LPSTR, lpszValueName, 866 LPDWORD,lpdwReserved, 866 867 LPDWORD,lpdwType, 867 LPDWORD,lpdwReserved,868 868 LPBYTE, lpbData, 869 869 LPDWORD,lpcbData) … … 873 873 return O32_RegQueryValueEx(ConvertKey(hkey), 874 874 lpszValueName, 875 lpdwReserved, 875 876 lpdwType, 876 lpdwReserved,877 877 lpbData, 878 878 lpcbData); … … 894 894 ODINFUNCTION6(LONG,RegQueryValueExW,HKEY, hkey, 895 895 LPWSTR, lpszValueName, 896 LPDWORD,lpdwReserved, 896 897 LPDWORD,lpdwType, 897 LPDWORD,lpdwReserved,898 898 LPBYTE, lpbData, 899 899 LPDWORD,lpcbData) … … 902 902 char *akeydata = NULL; 903 903 LONG rc; 904 DWORD dwType; 904 905 905 906 if(lpbData && lpcbData) … … 909 910 } 910 911 912 if(lpdwType == NULL) { 913 lpdwType = &dwType; 914 } 915 911 916 rc = CALL_ODINFUNC(RegQueryValueExA)(hkey, 912 917 astring, 918 lpdwReserved, 913 919 lpdwType, 914 lpdwReserved,915 920 (LPBYTE)akeydata, 916 921 lpcbData); … … 919 924 if(rc == ERROR_SUCCESS && lpbData && lpcbData) 920 925 { 921 if(lpdwType == NULL) {//NULL apparently means REG_SZ 922 lstrcpyAtoW((LPWSTR)lpbData, akeydata); 923 } 924 else { 925 switch(*lpdwType) { 926 case REG_SZ: 927 case REG_EXPAND_SZ: 928 lstrcpyAtoW((LPWSTR)lpbData, akeydata); 929 break; 930 case REG_MULTI_SZ: 931 case REG_LINK: //??? 932 dprintf(("ERROR: key data must be translated from Unicode to Ascii!!")); 933 break; 934 default: 935 memcpy(lpbData, akeydata, *lpcbData); 936 break; 937 } 938 } 926 switch(*lpdwType) { 927 case REG_SZ: 928 case REG_EXPAND_SZ: 929 lstrcpyAtoW((LPWSTR)lpbData, akeydata); 930 break; 931 case REG_MULTI_SZ: 932 case REG_LINK: //??? 933 dprintf(("ERROR: key data must be translated from Unicode to Ascii!!")); 934 break; 935 default: 936 memcpy(lpbData, akeydata, *lpcbData); 937 break; 938 } 939 939 } 940 940 FreeAsciiString(astring);
Note:
See TracChangeset
for help on using the changeset viewer.