1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Regqueryvalueex и Win98

Тема в разделе "С и С++", создана пользователем shisik, 22 май 2008.

  1. shisik

    shisik Well-Known Member

    Репутация:
    0
    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Под 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.
     

Поделиться этой страницей