Regqueryvalueex и Win98

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

  1. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Под Windows 98 не могу прочитать значение DWORD из реестра. Записывается нормально, а считать не получается. В WinXP всё работает. Вот функция записи:
    Код (Text):
    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);
    А вот чтение:
    Код (Text):
    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.
     

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