Ни дня без сюрпризов!

Внимание! Имя параметра «IRPStackSize» вводится с учетом регистра.

https://support.microsoft.com/ru-ru/kb/177078
Напомню, что в реестре имена ключей и параметров регистронезависимые. Тоесть, если ты вызываешь RegQueryValueEx(), то системе по барабану в каком регистре будет набрано имя.
Но как они добились такого успеха? Моя теория: вместо того чтобы последовательно запрашивать все известные параметры и получать их значения (либо сообщения о несуществовании таких параметров), они перечисляют всё содержимое ключа и сверяют, совпадает ли очередное имя с именем какого-либо параметра. Да, и совершенно случайно, ещё в NT4 они забыли сверять это без учёта регистра, да так и не поправили.
Лучшие интерпрайзные практики.