Previous | Contents | Index |
The system report changes to subkeys of the specified key only if the REG$_FLAGSUBKEY item code is set to 1. |
Security access mask | Description |
---|---|
REG$M_ALLACCESS |
A combination of the following access values:
REG$K_CREATELINK |
REG$M_CREATELINK | Allows creation of a symbolic link. |
REG$M_CREATESUBKEY | Allows creation of subkeys. |
REG$M_ENUMSUBKEYS | Allows enumeration of subkeys. |
REG$M_EXECUTE | Allows read access. |
REG$M_NOTIFY | Allows change notification. |
REG$M_QUERYVALUE | Allows queries of subkey data. |
REG$M_READ |
A combination of the following access values:
REG$K_ENUMSUBKEYS |
REG$M_SETVALUE | Allows setting of values and data. |
REG$M_WRITE |
A combination of the following access values:
REG$K_CREATESUBKEY |
It takes the following value:
Policy Setting | Description |
---|---|
REG$K_POLICY_NT_40 | Access is required to the first key and the requested key (default). |
Using this item code, you can group multiple requests into a single call to the $REGISTRY service. If you use this multiple-request feature, use the REG$_SEPARATOR item code to indicate the end of the set of item codes for the current request and that there is another request to process.
Volatile Type | Description |
---|---|
REG$K_CLUSTER | The item is removed when the cluster reboots. |
REG$K_NONE | The item is not volatile (default). |
For example, you can specify the function modifier REG$M_CASE_SENSITIVE with the function REG$FC_CREATE_KEY. When you use the function and function modifier together, the data passed to the OpenVMS Registry is treated as case sensitive. The two values are written in HP C as REG$M_CASE_SENSITIVE | REG$FC_CREATE_KEY .
The OpenVMS Registry function modifiers are defined in the header file REGDEF.H.
REG$M_CASE_SENSITIVE
Use case sensitive matching for keys and values.REG$M_DISABLE_WILDCARDS
Treat wildcard characters as normal characters for this function.REG$M_IGNORE_LINKS
Force the operation to not follow any symbolic links associated with a key or a value.By default, if a key or value is symbolically linked to another key or value, the system follows all links so that the operation specified by the function code is performed on the linked key or value.
When you specify the REG$M_IGNORE_LINKS function modifier, the operation specified by the function code affects only the specified key or value, not the linked key or value.
By default, if a key or value has a symbolic link, it can not be deleted. If you specify the REG$M_IGNORE_LINKS function modifier, the system deletes the key or value.
REG$M_NOW
Write to disk immediately, regardless of the REG$_CACHEACTION item code value.
The $REGISTRY service provides the means to create, delete and modify registry keys, key values, and key attributes.The $REGISTRY service uses process P1 space to store handles to keys.
The $REGISTRY service must be called at IPL 0, and requires system dynamic memory to deliver AST requests.
$REGISTRYW
SS$_NORMAL Normal successful completion. SS$_ACCVIO One of the arguments cannot be read/written. SS$_BADPARAM Function code or one of the item list code is invalid. SS$_EXASTLM Exceeded AST limit. SS$_INSFARG Insufficient number of argument supplied. SS$_INSFP1POOL Not enough process P1 space available. SS$_NOIMPERSONATE The caller does not have the privilege to obtain information about the specified personae. SS$_TOO_MANY_ARGS Too many arguments. REG$_ACCESSDENIED Requested access to key is denied. REG$_IPLTOOHIGH Callers above IPL 0 cannot call this service.
SS$_NORMAL Normal successful completion. SS$_ACCVIO One of the arguments cannot be read/written. SS$_BADPARAM Function code or one of the item list code is invalid. SS$_EXASTLM Exceeded AST limit. SS$_INSFARG Insufficient number of argument supplied. SS$_INSFP1POOL Not enough process P1 space available. SS$_NOIMPERSONATE The caller does not have the privilege to obtain information about the specified personae. SS$_TOO_MANY_ARGS Too many arguments. REG$_ACCESSDENIED Requested access to key is denied. REG$_BUFFEROVF Buffer overflow. REG$_DBALREADYLOADED Database is already loaded. REG$_DBNOTYETLOADED Database is not yet loaded. REG$_EXQUOTA Registry file quota or page file quota exceeded. REG$_HASLINK Key has a link to another key. REG$_HAVESUBKEYS Cannot delete a key with subkeys. REG$_INTERNERR Registry internal error. REG$_INVCACHEACTION Invalid cache action parameter. REG$_INVCREDENTIALS NT credentials are not valid. REG$_INVDATA Invalid data value. REG$_INVDATATYPE Invalid data type parameter. REG$_INVFUNCCODE Invalid function code. REG$_INVKEYFLAGS Invalid key flags. REG$_INVKEYID Key does not exist or invalid key ID was specified. REG$_INVKEYNAME Invalid key name. REG$_INVLINK Invalid link or link type. REG$_INVLINKPATH Invalid link path. REG$_INVPARAM Invalid parameter. REG$_INVPATH Invalid key path. REG$_INVSECDESCRIPTOR Invalid security descriptor. REG$_INVSECPOLICY Invalid security policy parameter. REG$_INVVALNAME Invalid value name. REG$_INVVOLROOTKEY Cannot create a new file with a volatile root key. REG$_IPLTOOHIGH Callers above IPL 0 cannot call this service. REG$_KEYCHANGED Key or subkey has changed. REG$_KEYLOCKED Key locked by another thread. REG$_KEYNAMEEXIST Key name already exists. REG$_NOKEY Specified key does not exist. REG$_NOMOREITEMS No more items for specified key. REG$_NOPATHFOUND Path not found. REG$_NORESPONSE OpenVMS Registry server failed to respond within the alloted time period. REG$_NOTROOTKEY Invalid root key index. REG$_NOTSUPPORTED Function code, item code, or item value is not supported. REG$_NOVALUE Specified value does not exist. REG$_REQRECEIVED Received request for key change notification. REG$_RESERVED Cannot delete or modify a reserved key or value. REG$_SECVIO Violates the security access method specified when this key was last opened. REG$_STRINGTOOLONG Input string too long. REG$_STRINGTRUNC Output buffer is not large enough to contain the converted string. REG$_TOOMANYOPENKEY Number of opened keys exceeds the limit. REG$_VALUEEXIST Value already exists. REG$_VOLMISMATCH Cannot create nonvolatile subkey for a volatile key.
This service can also return status values from the following system services: $CLREF, $SYNCH, $PERSONA_EXTENSION_LOOKUP, and $PERSONA_QUERY.
On Alpha and Integrity server systems, interface to the OpenVMS Registry database server.The $REGISTRY service supports both asynchronous and synchronous operations. For asynchronous completion, use the Registry ($REGISTRY) system service.
For synchronous completion, use the Registry and Wait ($REGISTRYW) system service. The $REGISTRYW system service is identical to the $REGISTRY system service, except that $REGISTRYW returns to the caller after the system completes the requested operation. For additional information about system service completion, see the Synchronize ($SYNCH) system service.
This system service is 64-bit compatible.
SYS$REGISTRYW [efn] ,func ,0 ,itmlst ,[iosb or iosa_64] [,astadr or astadr_64] [,astprm or astprm_64] [,timeout]
int sys$registryw (unsigned int efn, unsigned int func, void *, void *itmlst, struct _iosb *iosb, ...);
The Release service unlocks the record specified by the contents of the record file address (RAB$W_RFA) field of the RAB.For additional information about this service, see the OpenVMS Record Management Services Reference Manual.
Releases ownership of an OpenVMS Galaxy lock.Note that this system service is supported only in an OpenVMS Alpha Galaxy environment.
For more information about programming with OpenVMS Galaxy system services, see the HP OpenVMS Alpha Partitioning and Galaxy Guide.
SYS$RELEASE_GALAXY_LOCK handle
int sys$release_galaxy_lock (unsigned __int64 lock_handle);
handle
OpenVMS usage: galaxy lock handle type: quadword (unsigned) access: read mechanism: input by value
The 64-bit lock handle that identifies the lock to be released. This value is returned by SYS$CREATE_GALAXY_LOCK.
This service releases ownership of an OpenVMS Galaxy lock. Because a Galaxy lock can be acquired multiple times by the same owner (nested ownership), the lock is not released until the ownership count goes to zero. If the lock ownership is completely released and there are other threads waiting for the lock, they are released from their wait states.Write access to lock.
None
$ACQUIRE_GALAXY_LOCK, $CREATE_GALAXY_LOCK, $CREATE_GALAXY_LOCK_TABLE, $DELETE_GALAXY_LOCK, $DELETE_GALAXY_LOCK_TABLE, $GET_GALAXY_LOCK_INFO, $GET_GALAXY_LOCK_SIZE
SS$_NORMAL Normal completion. SS$_IVLOCKID Invalid lock id. SS$_IVLOCKOP Invalid lock operation. SS$_IVLOCKTBL Invalid lock table.
The Remove service deletes a file name from a directory. It is the reverse of the Enter service.For additional information about this service, see the OpenVMS Record Management Services Reference Manual.
Deletes the specified holder record from the target identifier's list of holders.
SYS$REM_HOLDER id ,holder
int sys$rem_holder (unsigned int id, struct _generic_64 *holder);
id
OpenVMS usage: rights_id type: longword (unsigned) access: read only mechanism: by value
Binary value of target identifier whose holder is deleted when $REM_HOLDER completes execution. The id argument is a longword containing the identifier value.holder
OpenVMS usage: rights_holder type: quadword (unsigned) access: read only mechanism: by reference
Identifier of holder being deleted when $REM_HOLDER completes execution. The holder argument is the address of a quadword containing the UIC identifier of the holder in the first longword and the value of 0 in the second longword.
The Remove Holder Record from Rights Database service removes the specified holder record from the target identifier's list of holders.Write access to the rights database is required.
None
$ADD_HOLDER, $ADD_IDENT, $ASCTOID, $CREATE_RDB, $FIND_HELD, $FIND_HOLDER, $FINISH_RDB, $GRANTID, $IDTOASC, $MOD_HOLDER, $MOD_IDENT, $REM_IDENT, $REVOKID
SS$_NORMAL The service completed successfully. SS$_ACCVIO The holder argument cannot be read by the caller. SS$_INSFMEM The process dynamic memory is insufficient for opening the rights database. SS$_IVIDENT The specified identifier or holder identifier is of invalid format. SS$_NORIGHTSDB The rights database does not exist. SS$_NOSUCHID The specified identifier does not exist in the rights database, or the specified holder identifier does not exist in the rights database. RMS$_PRV The user does not have write access to the rights database.
Because the rights database is an indexed file accessed with OpenVMS RMS, this service can also return RMS status codes associated with operations on indexed files. For descriptions of these status codes, see the OpenVMS Record Management Services Reference Manual.
Previous | Next | Contents | Index |