Regqueryvalueex и Win98

shisik

Well-Known Member
26.08.2007
154
0
#1
Под Windows 98 не могу прочитать значение DWORD из реестра. Записывается нормально, а считать не получается. В WinXP всё работает. Вот функция записи:
Код:
DWORD dwPortNumber = 2;
HKEY hKey;

RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\ClockRings", 0, NULL, 
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL);

RegSetValueEx(hKey, "LastPortNumber", 0, REG_DWORD, (PBYTE) &dwPortNumber, sizeof(DWORD));

RegCloseKey(hKey);
А вот чтение:
Код:
HKEY hKey;
unsigned long size, uType;
DWORD dwNumber = 0;

if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\ClockRings", 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS)
return 1;

if (RegQueryValueEx(hKey, "LastPortNumber", 0, &uType, (PBYTE) &dwNumber, &size) != ERROR_SUCCESS)
dwNumber = 1;

RegCloseKey(hKey);

return dwNumber;
Ошибка происходит именно в функции RegQueryValueEx.