Use DISPLAY_REG_CREATE_KEY_EX when you want the action to be performed on the display host's registry (the local host when the application is run with a standard runtime; the thin client when the application is run with the thin client). Use REG_CREATE_KEY_EX when you want the action to be performed on the server host's registry (the local host when the application is run with a standard runtime, and the application host when the application is run with the thin client).
CALL "REG_CREATE_KEY_EX" USING OPEN-KEY-HANDLE, SUBKEY-TO-BE-CREATED,CLASS-NAME, OPTIONS, SAM-DESIRED, SUBKEY-HANDLE, DISPOSITION GIVING STATUS-CODE
Handle of a currently open key or one of the following predefined handles of keys that are always open (defined in acugui.def):
The key created or opened by REG_CREATE_KEY_EX is a subkey of the key identified by OPEN-KEY-HANDLE.
Name of the subkey to create or open.
Specifies the class (object type) of the key to be created. This parameter is ignored if the key already exists.
Specifies special options for the key. This parameter must be one of the following values (defined in acugui.def):
|REG_OPTION_VOLATILE||The value of this key varies depending on the Windows operating system used:
Windows 98: This value is ignored. That is, even if REG_OPTION_VOLATILE is specified, the RegCreateKeyEx function creates a nonvolatile key and returns ERROR_SUCCESS.
Windows NT 4.0, Windows 2000: This key is volatile; the information is stored in memory and is not preserved when the system is restarted.
|REG_OPTION_NON_VOLATILE||This key is not volatile; the information is stored in a file and is preserved when the system is restarted.|
By default, keys are not volatile. This option is ignored if the key already exists.
Specifies a security access mask (SAM) that describes the desired security access for the new key. This parameter can be a combination of the following values (defined in acugui.def):
|KEY_ALL_ACCESS||Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, EY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access.|
|KEY_CREATE_LINK||Permission to create a symbolic link.|
|KEY_CREATE_SUB_KEY||Permission to create subkeys.|
|KEY_ENUMERATE_SUB_KEYS||Permission to enumerate subkeys.|
|KEY_EXECUTE||Permission for read access.|
|KEY_NOTIFY||Permission for change notification.|
|KEY_QUERY_VALUE||Permission to query subkey data.|
|KEY_READ||Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access.|
|KEY_SET_VALUE||Permission to set subkey data.|
|KEY_WRITE||Combination of KEY_SET_VALUE and KEY_CREATE_SUB_KEY access.|
The above values may be combined in COBOL applications by using the CBL_OR library routine.
Data item to receive the handle of the newly created or opened key.
Points to a variable that receives one of the following disposition values (defined in acugui.def):
|REG_CREATED_NEW_KEY||The key did not exist and was created.|
|REG_OPENED_EXISTING_KEY||The key existed and was simply opened without being changed.|
Receives the return status of the call to Microsoft's RegCreateKeyEx function. A return status of zero indicates success; non-zero indicates that an error occurred.