===[ Программы / Microsoft / Windows ]=== #post-id: 5879-14-42 #original-date: 30.08.2016 Tue #original-time: 2:42 PM #original-day: 5879 #original-host: WinXP Prof SP3 (Build 2600) Ни дня без сюрпризов! > Внимание! Имя параметра «IRPStackSize» вводится с учетом регистра. https://support.microsoft.com/ru-ru/kb/177078 Напомню, что в реестре имена ключей и параметров регистронезависимые. Тоесть, если ты вызываешь RegQueryValueEx(), то системе по барабану в каком регистре будет набрано имя. Но как они добились такого успеха? Моя теория: вместо того чтобы последовательно запрашивать все известные параметры и получать их значения (либо сообщения о несуществовании таких параметров), они перечисляют всё содержимое ключа и сверяют, совпадает ли очередное имя с именем какого-либо параметра. Да, и совершенно случайно, ещё в NT4 они забыли сверять это без учёта регистра, да так и не поправили. Лучшие интерпрайзные практики. #upd: Хикедайя поковырялся в MSDN и выяснил, что регистронезависимость имён параметров нигде не оговорена, только имён ключей. Хотя эксперименты показывают, что регистр значения не имеет. Но для MSDN это в принципе не новость. win32.hlp вообще сообщал: > Each key has a name consisting of one or more printable ANSI > characters ѕ that is, characters ranging from values 32 through > 127. Key names cannot include a space, a backslash (\), or > a wildcard character (* or ?). Key names beginning with > a period (.) are reserved. The name of each subkey is unique with > respect to the key that is immediately above it in the hierarchy. > Key names are not localized into other languages, although values > may be. Это уже во времена Unicode и NT4.