2011-08-16 2 views
1

Я устанавливаю ключ реестра с недопустимым значением (установка значения ключа REG_DWORD с REG_SZ). Будет ли реестр содержать значение, которое оно имело ранее, или сбросит ли его значение по умолчанию?раздел реестра принимает значение по умолчанию при установке недопустимого значения

Например. Я установил ключ REG_DWORD и установил значение «4». Значение по умолчанию для этого ключа - «2». Теперь, когда я пытаюсь установить этот ключ с api 'RegSetValueEx (...)' с недопустимым значением REG_SZ. Набор был успешным. Теперь, если я получу это значение ключа, это будет значение по умолчанию «2» или это будет предыдущее установленное значение «4»?

ответ

3

RegSetValueEx Устанавливает данные и тип заданного значения по ключу реестра.

Он просто изменит тип хранимого значения на REG_SZ и установит указанное вами значение, оно не проверяет, какое значение или тип были ранее. Поэтому, когда вы читаете значение, вы получите последнее значение, которое вы установили там. Нет такой вещи, как «invalid» REG_SZ.

Также забудьте о «значении по умолчанию для ключа». Это не то, что вы думаете. Это не значение, которое API вернет, если что-то не удастся, это просто причудливое имя для анонимного значения.

+0

ok. Довольно полезные комментарии, которые делают все, о чем я писал, совершенно глупо. Потребуется некоторое время, чтобы изучить код в своем прозрении и посмотреть, могу ли я понять это лучше. – HokageSama

+0

@HokageSama: Вам не кажется, что вы должны дать ему ответ? –

+0

Да Кэри. Я не закрыл эту страницу на вкладке браузера по той же причине. – HokageSama

Смежные вопросы