ключ створено чи відкрито вдало, то значення ERROR_SUCCESS. Будь-яке інше значення є свідченням того, що при створенні або відкритті ключа зустрілася помилка.
Перший аргумент - hKey-хендл раніше відкритого ключа або одне з наступних значень:
HKEY_CLASSES_ROOT;
HKEY_CURRENT_USER;
HKEY_LOCAL_MACHINE;
HKEY_USERS;
HKEY_DYN_DATA (Win 9x) або HKEY_PERFORMANCE_DATA (Win NT/2000)
При інсталяції Windows створюються п'ять ключів. Їх імена збігаються зі значеннями, наведеними вище. Іншими словами, ці ключі є основою для створення ієрархії ключів.
Ключі, знаходяться за ієрархією нижче першого із зумовлених ключів, HKEY_LOCAL_MACHINE, визначають фізичний стан комп'ютера, включаючи дані про тип шини, системної пам'яті, інстальована апаратному та програмному забезпеченні.
Ключі, знаходяться за ієрархією нижче HKEY_CLASSES_ROOT, визначають типи (чи класи) файлів і властивості, асоційовані з цими класами. Властивості класів визначаються тільки програмістом. Зазвичай ці властивості застосовуються при роботі додатків, що використовують впровадження і зв'язування об'єктів, а також додатків, використовують середу Windows (shell applications). Наприклад, при відкритті файлів в Explorer'e використовуються властивості файлів, записані в реєстрі.
Ключі, підлеглі HKEY_USERS, визначають конфігурацію за замовчуванням при підключенні нового користувача на локальній машині і конфігурацію поточного користувача.
І нарешті, ключі, підлеглі HKEY_CURRENT_USER, визначають установки, зроблені поточним користувачем, що стосуються змінних оточення, даних про принтерах, мережеві підключення і т. д. Крім цього, в цій гілці дерева зберігаються установки, зроблені конкретними додатками.
Повертаючись до аргументів функції RegCreateKeyEx (), можна сказати, що перед створенням нового ключа необхідно продумати, в яку гілку дерева необхідно включити новий ключ. Якщо новий ключ необхідно створити підлеглим ключу нижчого рівня, то певним чином можна пройти по дереву і знайти той ключ, який необхідний. Крім цього, ключ, хендл якого вказаний у першому аргументі, повинен бути відкритий з атрибутом доступу KEY_CREATE_SUB_KEY.
Другим аргументом - lpSubKey - є покажчик на рядок, що містить ім'я створюваного ключа. Створюваний ключ буде підлеглим ключа, хендл якого вказаний у першому аргументі.
Третій аргумент - Reserved -Зарезервований і повинен бути рівним нулю. p> Четвертий аргумент - lpClass - покажчик на рядок, визначальну клас створюваного ключа.
Черговий, п'ятий аргумент - dwOptions, визначає опції створюваного ключа. Цей аргумент може приймати одне із значень:
• REG_OPTION_VOLATILE
• REG_OPTION_NON_VOLATILE. br/>
У Windows 9x перше значення не використовується. p> Друге значення вказує, що при перезавантаженні системи значення цього ключа зберігається, тобто інформація зберігається у файлі, а не в пам'яті.
Наступний, шостий аргумент - samDesired, визначає маску доступу до ключа. Цей параметр являє собою бітову шкалу і може бути комбінацією прапорів, наведених у табл.2.
Таблиця 2 Прапори, складові маску доступу до ключа
Прапор
Опис
KEY_QUERY_VALUE /Td>
Права запитувати дані підключений
KEY_SET_VALUE /Td>
Права встановлювати дані підключений
KEY_CREATE_SUB _KEY /Td>
Права створювати підключи
KEY_ENUMERATE_SUB_ KEY
Права перебирати підключи
KEY_NOTIFY
Права змінювати нотифікацію /Td>
KEY_CREATE LINK
Права створювати символічний зв'язок
KEY_READ
(STANDARD RIGHTS READ) KEY_QUERY_VALUE | KEY_ENUMERATE SUB_KEYS | KEY_NOTIFY
KEY_WRITE
(STANDARD RIGHTS WRITE) KEY_SET_VALUE | KEY_CREATE_SUB_KEY
KEY_EXECUTE /Td>
KEY_READ
KEY_ALL_ACCESS /Td>
(STANDARD RIGHTS ALL) KEY_QUERY VALUE | KEY_SET_VALUE | KEY_CREATE _SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_CREATE_SUB_KEY | KEY_NOTIFY | KEY _CREATE_LINK
Сьомий аргумент - lpSecurityAttributes - покажчик на структуру типу SECURITY_ATTRIBUTES, яка визначає атрибути безпеки створюваного ключа. Windows 9х не підтримує безпеку, тому цей параметр ігнорується.
Туди, куди вказує восьмий аргумент ...