Странно читает записи одной ветки реестра

Павел_12
Дата: 22.10.2014 20:31:38
Добрый день всем! Проблема в следующем:
Я хочу получить значения переменных ветки реестра, но часть значений не читаются, если я меняю порядок чтения этих переменных - то в результате не читаются уже другие
вот код функции
void hardware()
{
        DWORD cb = 512;
    char buff[cb];
    HKEY hKey = 0;    
    const char* elements[] = {"Identifier", "VideoBiosVersion", "SystemBiosVersion",  "VideoBiosDate",  "SystemBiosDate",  "Configuration Data", "Component Information"};
    char* values[6];    
    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System",0, KEY_READ, &hKey) == ERROR_SUCCESS) 
    {        
        for(int i=0;i<7;i++)
        {            
            if(RegQueryValueEx(hKey, elements[i], NULL, NULL, (BYTE*)&buff, &cb) == ERROR_SUCCESS)
            {
                values[i] = buff;            
                printf("%s: %s\n", elements[i], values[i]);                
            }
            else
            {
                values[i] = "\0";
                printf("%s: %s (failed)\n", elements[i], values[i]);
            }            
        }        
    }
    else
    {
        printf("eric fail!\n");
    }    
}

так если меняю местами элементы массива elements то результат всё время различный.
Использую MinGw (win7x64)
Dimitry Sibiryakov
Дата: 22.10.2014 20:37:04

Восстанавливать значение cb кто будет?..

Posted via ActualForum NNTP Server 1.5

Павел_12
Дата: 22.10.2014 20:48:36
Dimitry Sibiryakov
Восстанавливать значение cb кто будет?..

Спасибо большое, всё как обычно из-за невнимательности. Теперь всё работает
Dimitry Sibiryakov
Дата: 22.10.2014 20:56:32

Павел_12
Теперь всё работает

Ага, щазззз жо...

Posted via ActualForum NNTP Server 1.5

Павел_12
Дата: 23.10.2014 07:59:03
Dimitry Sibiryakov
Павел_12
Теперь всё работает

Ага, щазззз жо...

А что не так?