[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

10 OpenVMS Registryシステム・サービス

この章では,OpenVMS Registryの$REGISTRY システム・サービスと$REGISTRYWシステム・サービスについて説明します。

$REGISTRYと$REGISTRYW
OpenVMS Registryデータベースへのインタフェース

$REGISTRYシステム・サービスと$REGISTRYWシステム・サービスは,OpenVMS Registry データベース・サーバへのインタフェースです。$REGISTRY サービスを使用すると,OpenVMS Registryデータベースに登録されているキー, サブキー, 値の表示,更新,設定を行うことができます。

$REGISTRYサービスでは,同期操作と非同期操作の両方がサポートされます。 非同期完了の場合は,Registry ($REGISTRY)システム・サービスを使用します。 同期完了の場合は,Registry and Wait ($REGISTRYW)システム・ サービスを使用します。$REGISTRYWシステム・サービスは$REGISTRY システム・サービスとほとんど同じ機能を実行しますが,要求された操作が完了した後で呼び出しプロセスに制御が返されます。 システム・サービスの終了の詳細については,Synchronize ($SYNCH) システム・サービスを参照してください。

このシステム・サービスは64ビット互換です。

フォーマット

    SYS$REGISTRY   [efn], func, 0, itmlst, [iosb or iosa_64], [astadr or astadr_64], [astprm or astprm_64]

    SYS$REGISTRYW   [efn], func, 0, itmlst, [iosb or iosa_64], [astadr or astadr_64], [astprm or astprm_64]

引数

efn
OpenVMS 使用法:   ef_number
type:            longword (unsigned)
access:          read only
mechanism:       by value
$REGISTRYで使用されるイベント・フラグの数。イベント・フラグを指定しなかった場合, デフォルトはEFN$C_ENF になります。イベント・ フラグは$REGISTRYで最初にクリアされ,操作が完了したときにセットされます。

func
OpenVMS 使用法:   function_code
type:            longword (unsigned)
access:          read only
mechanism:       by value
$REGISTRYが実行する動作を指定する機能コード。func引数は, この機能コードを格納したロングワードです。機能コードには機能修飾子を含むことができます。 機能修飾子の詳細については,この章の機能修飾子 を参照してください。

$REGISTRYの呼び出しには機能コードを1つだけ指定できます。どの機能コードを呼び出す場合も, itmlst引数に追加情報を指定しなければなりません。

itmlst
OpenVMS 使用法:   item_list3 or item_list_64b
type:            longword (unsigned)
access:          read only
mechanism:       by reference
func引数によって指定される機能を実行するために,システムが使用する情報を示すアイテム・ リスト。itmlst引数はアイテム・リストのアドレスです。 アイテム・リストは1組以上のアイテム記述子で構成されます。 各記述子はitem-list-3またはitem-list-64b形式です。

一部の機能コードでは,1回の呼び出しに複数の操作を指定できます。 この場合,各アイテム・コード・セットの間にREG$_ SEPARATOR アイテム・コードを指定しなければなりません。 REG$_SEPARATOR アイテム・コードで区切られた各要求にアイテム・ コードを指定する順序は任意です。

アイテム・コードは入力パラメータまたは出力パラメータとして指定できます。 入力パラメータは機能の変更,コンテキストの設定,返す情報の指定を行います。 出力パラメータは要求された情報を返します。item-list- 3リストの場合は,リストの最後にロングワードの0を指定しなければなりません。item-list-64b リストの場合は,リストの最後にクォドワードの0 を指定しなければなりません。

図 10-1はitem-list-3記述子の構造を示しています。

図 10-1 item-list-3の構造

図 10-2はitem-list-64b記述子の構造を示しています。

図 10-2 item-list-64bの構造

表 10-1はアイテム記述子フィールドの定義を示しています。

表 10-1 アイテム記述子フィールド

記述子フィールド 定義
Buffer length バッファの長さを指定するワード。 バッファは,$REGISTRYで使用される情報を渡すか,または$REGISTRY からの情報を受け取る場所である。必要なバッファの長さは,指定するアイテム・ コードに応じて異なる。各アイテム・コード記述に必要な長さを指定する。
Item code バッファ内に現在格納されている情報のタイプを示すシンボリック・ コード, またはバッファに返されたシンボリック・コードを格納したワード。 buffer addressフィールドはバッファの場所を示す。
Buffer address 情報の受け渡しで使用されるバッファのアドレスが格納されているロングワード。
Return length address $REGISTRYから返された情報の実際の長さ( バイト数)を指定するワードのアドレスが格納されているロングワード。 情報はbuffer addressフィールドで示されるバッファに格納される。 このフィールドは出力アイテム・リスト・エントリにだけ適用され, 入力エントリの場合は0でなければならない。return length addressが0の場合は無視される。

iosb or iosa_64
OpenVMS 使用法:   status_block
type:            buffer
access:          write only
mechanism:       by reference
$REGISTRY操作の最終終了状態と情報が返される状態ブロック。1つの機能コードに対して複数の操作が要求された場合は, iosbに返される値は SS$_NORMALまたはSS$_REGERROR になります。 各操作の戻り状態はREG$_RETURNSTATUS アイテム・コード(指定されている場合) に返されます。iosb引数は$REGISTRYの状態ブロックのアドレスです。

iosb引数を指定した場合は,$REGISTRYの実行が開始されるときに, クォドワードのI/O状態ブロックがクリアされます。

iosb引数は省略してもかまいませんが,次の理由により,なるべく指定してください。

R0に返される条件値と,I/O状態ブロックに返される条件値は,$REGISTRY サービスへの呼び出しに関して異なる情報を提供します。R0に返される条件値は, サービスの呼び出し自体が正常終了したのか,異常終了したのかに関する情報を示します。I/O 状態ブロックに返される条件値は,サービス操作が正常終了したのか, 異常終了したのかに関する情報を示します。

$REGISTRYへの呼び出しが正常終了したのか,異常終了したのかを正確に判断するには, 最初にR0に返された条件値を確認しなければなりません。 R0に正常終了を示す値が格納されている場合は,I/O状態ブロックの条件値を確認しなければなりません。

表 10-2はアイテム記述子フィールドの定義を示しています。

表 10-2 記述子フィールド

記述子フィールド 定義
Status $REGISTRYサービスの最終状態を指定するロングワード。1 つの機能コードに対して複数の操作を要求した場合は, SS$_NORMAL またはSS$_REGERRORiosbに返される。このフィールドは操作を開始するときに,0に設定される。
Reserved 予約されているロングワード。

astadr or astadr_64
OpenVMS 使用法:   ast_procedure
type:            procedure value
access:          call without stack unwinding
mechanism:       by reference
$REGISTRYが完了したときに実行されるASTサービス・ルーチン。 astadr引数はこのルーチンのアドレスです。astadrを指定した場合,AST ルーチンは$REGISTRYサービスの呼び出し側プロセスと同じアクセス・ モードで実行されます。

$REGISTRYサービスの呼び出しが正常終了しなかった場合(つまり,エラーが直ちに戻された場合) は,ASTルーチンは実行されません。

astprm or astprm_64
OpenVMS 使用法:   user_arg
type:            longword (unsigned)
access:          read only
mechanism:       by value
astadr引数によって指定されたASTサービス・ルーチンに渡されるAST パラメータ。astprm引数はこのロングワード・パラメータを指定します。

説明

$REGISTRYサービスは,レジストリ・キー,キーの値,キーの属性の作成, 削除,変更を行う機能を提供します。

$REGISTRYサービスでは,キーに対するハンドルを格納するためにプロセスP1 空間を使用します。$REGISTRYサービスはIPL 0で呼び出さなければならず,AST 要求を配布するためにシステム・ダイナミック・メモリを必要とします。

関連サービス


$REGISTRYW

返される状態値

SS$_ACCVIO 引数の1 つを読み込みまたは書き込みできません。
SS$_BADPARAM 機能コードまたはアイテム・ リスト・コードの1つが不正です。
SS$_EXASTLM AST リミットを超えました。
SS$_EXBYTLM バイト・カウント・クォータを超えました。
SS$_ILLEFC イベント・フラグ番号が不正です。
SS$_INSFARG 指定された引数の数が不足しています。
SS$_INSFMEM ダイナミック・メモリが不足しています。
SS$_NORMAL 正常終了。
SS$_TOO_MANY_ARGS 引数の数が多すぎます。
REG$_ACCESSDENIED キーに対して要求されたアクセスが拒否されました。
REG$_BADFILEVER ファイル・ バージョン番号が不正です。
REG$_BUFFEROVF バッファ・オーバフロー。
REG$_CANTCLEANVOLSEG レジストリの揮発性セグメントを消去できません。
REG$_CANTCONVCS コード・セット変換エラー。
REG$_CANTOPENOUTFILE 指定された出力ファイルを開くことができません。
REG$_DBACCESS レジストリ・データベース・ オブジェクトにアクセスできません。
REG$_DBALREADYLOADED データベースはすでにロードされています。
REG$_DBCREATE レジストリ・データベースを作成できません。
REG$_DBCSMISMATCH データベース・チェックサムの不一致:格納値= !XL 計算値= !XL
REG$_DBFIND レジストリ・データベースを見つけることができません。
REG$_DBFULL レジストリ・データベースが満杯です。
REG$_DBLOAD レジストリ・ データベースをロードできません。
REG$_DBNOTYETLOADED データベースはまだロードされていません。
REG$_DBVERMISMATCH データベース・ バージョンの不一致:現在のバージョン= V!UW.!UWデータベース= V!UW.!UW
REG$_DELROOTKEY ルート・キーが削除されました。
REG$_DOUBLEDEALLOC 構造はすでにフリー・ リストに登録されています。
REG$_DTMUTEXERROR DECthreads ミューテックスロック/アンロック・エラー。
REG$_DTMUTEXINIT DECthreadsミューテックス初期化エラー!UL
REG$_DTMUTEXLOCK DECthreadsミューテックス・ ロック・エラー!UL
REG$_DTMUTEXLOCKED DECthreadsミューテックスは別のスレッドによってすでに保有されています。
REG$_DTMUTEXUNLOCK DECthreadsミューテックス・アンロック・エラー!UL
REG$_DTRWLOCKINIT DECthreads読み込み/書き込みロック初期化エラー!UL
REG$_DTRWLOCKLOCK DECthreads読み込み/書き込みロック・エラー!UL
REG$_DTRWLOCKUNLOCK DECthreads読み込み/書き込みアンロック・エラー!UL
REG$_DUPLREQUEST 作業中のハッシュ・テーブル挿入で重複する要求が検出されました。
REG$_EXQUOTA レジストリ・ファイル・クォータまたはページ・ファイル・ クォータを超えました。
REG$_FILECREATE !AZ!AZの作成でエラーが発生しました。
REG$_FILENAMEINVAL ファイル名が不正です。
REG$_FILEOPEN !AZ!AZを開くときにエラーが発生しました。
REG$_FILEREADEOF ファイルの末尾をこえて読み込もうとしました。FTE !XL
REG$_FNAMMISMATCH 物理/論理ファイル名の不一致; FTE=!AZ LTE=!AZ
REG$_FSOCORRUPT ファイルにはすでに破損フラグが付いています。FSO: !XL !XL
REG$_FSOFILEINDEX FSO: !XL !XLのファイル・インデックスが不正です。
REG$_FSOOFFSET FSO: !XL !XL のオフセットが不正です。
REG$_FSOSEGNUMBER FSO: !XL !XLのセグメント番号が不正です。
REG$_FSOSEGREADERR FSO: !XL !XLでセグメントの読み込みエラーが発生しました。
REG$_FTEALLOC ファイル・テーブル・エントリ!XL を!AZに対して割り当てるときにエラーが発生しました。
REG$_FTEALREADYEXIST ファイル!AZ!AZを作成できません。ファイルはすでに存在します。
REG$_FTEALREADYOPEN ファイルはすでに開かれています。
REG$_FTEDUPNAME ファイル・ テーブル・エントリの割り当てエラー;ファイル名が重複します。
REG$_FTEINSUFFINFO 指定されたファイル・テーブル・エントリは割り当てられていません。
REG$_FTEINUSE ファイル・テーブル・エントリの割り当てエラー, エントリは使用中です。
REG$_FTENOTEXIST 指定されたファイル・ テーブル・エントリは存在しません。
REG$_FTENOTOPEN 指定されたファイルは開かれていません。
REG$_FTIMISMATCH 物理ファイル・インデックスの不一致; LTE = !XL ,FTE = !XL
REG$_HASLINK キーに別のキーへのリンクがあります。
REG$_HAVESUBKEYS サブキーのあるキーを削除することはできません。
REG$_INTERNERR レジストリの内部エラー。
REG$_INVCACHEACTION キャッシュ・ アクション・パラメータが不正です。
REG$_INVCREDENTIALS NT 資格情報が不正です。
REG$_INVDATA データ値が不正です。
REG$_INVDATATYPE データ・ タイプ・パラメータが不正です。
REG$_INVFUNCCODE 機能コードが不正です。
REG$_INVKEYFLAGS キー・フラグが不正です。
REG$_INVKEYID キーが存在しないか, または不正なキーIDが指定されました。
REG$_INVKEYNAME キー名が不正です。
REG$_INVLINK リンクまたはリンク・タイプが不正です。
REG$_INVLINKPATH リンク・パスが不正です。
REG$_INVLOG ログ・ファイルが不正です。
REG$_INVLOGREC ログ・レコードが不正です。
REG$_INVPARAM パラメータが不正です。
REG$_INVPATH キー・パスが不正です。
REG$_INVSECDESCRIPTOR セキュリティ記述子が不正です。
REG$_INVSECPOLICY セキュリティ・ポリシー・ パラメータが不正です。
REG$_INVSEGNUM セグメント番号が不正です。
REG$_INVVOLROOTKEY 揮発性ルート・キーを使用して新しいファイルを作成することはできません。
REG$_IOREADERR ブロック!ULで長さ!ULのディスク読み込みエラーが発生しました。
REG$_IOWRITERR ブロック!UL で長さ!ULのディスク書き込みエラーが発生しました。
REG$_IPCCONACC IPC 接続受諾エラー: !XL
REG$_IPCCONREJ IPC接続拒否エラー: !XL
REG$_IPCDCLAST IPC は同期完了のためにASTを宣言できません。!XL
REG$_IPCOPEASS IPC関連付けオープン・ エラー: !XL
REG$_IPLTOOHIGH IPL 0より上の呼び出しプロセスはこのサービスを呼び出すことができません。
REG$_KEYCHANGED キーまたはサブキーが変更されています。
REG$_KEYEXIST キーはすでに存在します。
REG$_KEYLOCKED キーは別のスレッドによってロックされています。
REG$_KEYNAMEEXIST キー名はすでに存在します。
REG$_LOGFILETABFULL 論理ファイル・ テーブルが満杯です。
REG$_LTENOTEXIST 指定された論理ファイル・テーブル・ エントリは存在しません。
REG$_MOREDATA 提供されたバッファが小さすぎるため, 要求されたデータを格納できません。
REG$_NOBLOCKFOUND レジストリ・ データベースに使用できるブロックが残っていません。
REG$_NOKEY 指定されたキーは存在しません。
REG$_NOMEMORY メモリ不足。
REG$_NOMOREITEMS 指定されたキーに対するアイテムはこれ以上ありません。
REG$_NOMORESEG 使用できるセグメントはこれ以上ありません。
REG$_NOMORESUBSTRING 部分文字列を見つけることができません。
REG$_NOPATHFOUND パスを見つけることができません。
REG$_NORESPONSE OpenVMS Registryサーバは使用できない状態です。
REG$_NOSUCHFILE このようなファイルは存在しません。
REG$_NOTROOTKEY ルート・キー・インデックスが不正です。
REG$_NOTSUPPORTED 機能コード, アイテム・コード,アイテム値のいずれかがサポートされません。
REG$_NOVALUE 指定された値は存在しません。
REG$_OBJWITHLINK 削除されたキーまたは値を指すリンクがあります。
REG$_REQRECEIVED キー変更要求の通知を受け取りました。
REG$_RESERVED 予約キーまたは値を削除/ 変更することはできません。
REG$_ROOTINSFILE ルート・ ファイル内のファイル・リストが不足しています。
REG$_RUIDMISMATCH ルート・キーUIDの不一致; LTE = !@XQ !@XQ;ルート・キー= !@XQ !@XQ
REG$_SECVIO このキーが最後に開かれたときに指定されたセキュリティ・ アクセス方式に違反します。
REG$_SEGREADERR ファイル!AZのセグメント!UL の読み込みでエラーが発生しました。
REG$_STRINGTOOLONG 入力文字列が長すぎます。
REG$_STRINGTRUNC 出力バッファが小さすぎるため, 変換された文字列を格納できません。
REG$_SVRVERMISMATCH バージョンの不一致: サーバ= V!UL.!ULデータベース= V!UL.!UL
REG$_SVRSHUTDOWN サーバのシャットダウン中です。
REG$_TOOMANYOPENKEY 開かれているキーの数が多すぎます。 一部のキーを閉じてください。
REG$_UNKTHRREQ スレッド要求コードが不明です。
REG$_VALUEEXIST 値はすでに存在します。
REG$_VOLMISMATCH 揮発性キーに対して不揮発性サブキーを作成することはできません。

機能コード

表 10-3は,機能コードと各コードの簡単な説明, その機能を実行するのに必要なOpenVMS Registryライト識別子を示しています。 各アイテム・ コードの詳細については,この章のアイテム・コードを参照してください。

有効なNTアクセス・トークンを提供せず,SYSPRV 特権もない場合は,OpenVMS Registry ライト識別子が必要です。 REG$UPDATE 識別子が与えられている場合は,表 10-3 に示されているすべての機能を実行できます。

表 10-3 有効な機能コード

機能コード 識別子 説明
REG$FC_CLOSE_KEY REG$LOOKUP 開かれているキーまたはサブキーを閉じる。
REG$FC_CREATE_KEY REG$UPDATE サブキーを作成して開く。
REG$FC_DELETE_KEY REG$UPDATE サブキーをキーから削除する。
REG$FC_DELETE_VALUE REG$UPDATE 値をキーから削除する。
REG$FC_ENUM_KEY REG$LOOKUP キーのサブキーを一覧表示する。
REG$FC_ENUM_VALUE REG$LOOKUP キーの値を一覧表示する。
REG$FC_FLUSH_KEY REG$UPDATE キーのすべての情報をディスクにバックアップする。
REG$FC_MODIFY_KEY REG$UPDATE キーを変更する。
REG$FC_MODIFY_TREE_KEY REG$UPDATE キーとそのすべてのサブキーを変更する。
REG$FC_NOTIFY_CHANGE_KEY_VALUE REG$UPDATE キーまたは値が変更されたときに, そのことを通知する。
REG$FC_OPEN_KEY REG$LOOKUP キーまたはサブキーを開く。
REG$FC_QUERY_KEY REG$LOOKUP キーに関する情報を取り込む。
REG$FC_QUERY_VALUE REG$LOOKUP 値に関する情報を取り込む。
REG$FC_SEARCH_TREE_DATA REG$LOOKUP キーとそのサブキーの値データを検索する。
REG$FC_SEARCH_TREE_KEY REG$LOOKUP キーとそのサブキーの名前を検索する。
REG$FC_SEARCH_TREE_VALUE REG$LOOKUP キーとそのサブキーの値を検索する。
REG$FC_SET_VALUE REG$UPDATE 値名に関連付けられているデータを変更する。

REG$FC_CLOSE_KEY
この要求は指定されたキーの開かれているリソースを解放します。 REG$_KEYID が定義済みキーを示す場合は,システムはこの要求を無視し, 正常終了を返します。

次のいずれかのアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_RETURNSTATUS 省略可能 出力

REG$FC_CREATE_KEY
キーが存在しない場合,この要求はREG$_KEYID によって指定されるキーの下に新しいサブキーを作成します。 キーが存在する場合, そのキーは変更されません。

REG$_KEYRESULT アイテム・コードを指定した場合は,指定したサブキーが開かれます。

結果はREG$_DISPOSITION アイテム・コード・バッファに返されます。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめて指定できます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

キーの値を設定するには,REG$FC_SET_VALUE 機能コードを指定して$REGISTRY サービスを呼び出します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_CACHEACTION 省略可能 入力
REG$_CLASSNAME 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_DISPOSITION 省略可能 出力
REG$_KEYFLAGS 省略可能 入力
REG$_KEYID 必須 入力
REG$_KEYRESULT 省略可能 出力
REG$_LINKPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 入力
REG$_RETURNSTATUS 省略可能 出力
REG$_SECACCESS 省略可能 入力
REG$_SECURITYPOLICY 省略可能 入力
REG$_SEPARATOR 省略可能 なし
REG$_SUBKEYNAME 必須 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_VOLATILE 省略可能 入力

REG$_LINKPATH アイテム・コードを指定する場合は,OpenVMS Registry にすでに定義されているキー・ パスを指すコードを指定しなければなりません。この条件を満たさないと, REG$_INVALIDPATH エラーが返されます。


注意

REG$_CACHEACTION アイテム・コードを指定しないと,親キーと同じキャッシュ・ アクション値を使用して新しいキーが作成されます。 REG$_VOLATILE アイテム・コードとREG$_ SECURITYPOLICY アイテム・コードに同じ規則が適用されます。

REG$FC_DELETE_KEY
この要求は,指定されたサブキーとその値をOpenVMS Registryデータベースから削除します。 指定されたキーにサブキーがある場合, そのキーは削除されません。その場合は, サブキーを最初に削除しなければなりません。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめることができます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力
REG$_SEPARATOR 省略可能 なし
REG$_SUBKEYNAME 必須 入力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)

REG$FC_DELETE_VALUE
この要求は,指定された値をキーから削除します。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめることができます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力
REG$_SEPARATOR 省略可能 なし
REG$_VALUENAME 必須 入力

REG$FC_ENUM_KEY
この要求は,キーの1つのサブキーに関する情報を取得します。サブキーは REG$_SUBKEYINDEX アイテム・コードに指定します。 キーのすべてのサブキーを列挙するには,REG$FC_ENUM_KEY 機能コードを使用して$REGISTRYサービスを繰り返し呼び出さなければなりません。 REG$_SUBKEYINDEX を最初は0に設定して,要求から REG$_NOMOREITEMS エラーが返されるまで,カウントに1 を加算します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_CACHEACTION 省略可能 出力
REG$_CLASSNAME 省略可能 出力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_KEYFLAGS 省略可能 出力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LASTWRITE 省略可能 出力
REG$_LINKCOUNT 省略可能 出力
REG$_LINKPATH 省略可能 出力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力
REG$_SECURITYPOLICY 省略可能 出力
REG$_SUBKEYINDEX 必須 入力
REG$_SUBKEYNAME 省略可能 出力(Unicode文字列を示すポインタ。Unicode文字は4 バイトの長さである。)
REG$_VOLATILE 省略可能 出力

REG$FC_ENUM_VALUE
この要求は,指定されたキー識別子の値に関する情報を取得します。 取得する値はREG$_VALUEINDEX アイテム・コードに指定します。

キーのすべての値を列挙するには,アプリケーションでREG$FC_ ENUM_VALUE 機能コードを使用して$REGISTRYサービスを繰り返し呼び出さなければなりません。 REG$_VALUEINDEX の値を最初は0 に設定して,要求からREG$_NOMOREITEMS エラーが返されるまで, カウントに1を加算します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_DATAFLAGS 省略可能 出力
REG$_DATATYPE 省略可能 出力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4 バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力
REG$_VALUEDATA 省略可能 出力
REG$_VALUEINDEX 必須 入力
REG$_VALUENAME 省略可能 出力
REG$_VOLATILE 省略可能 出力

REG$FC_FLUSH_KEY
この要求は,指定されたキーに関するすべての情報をディスクに書き込みます。 この要求では,操作の完了後に制御が戻され,キーのすべての属性がOpenVMS Registry データベースに書き込まれます。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力

REG$FC_MODIFY_KEY
この要求は指定されたキーの属性を変更します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_CACHEACTION 省略可能 入力
REG$_CLASSNAME 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_KEYFLAGS 省略可能 入力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LINKPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 入力
REG$_NEWNAME 省略可能 入力
REG$_RETURNSTATUS 省略可能 出力
REG$_SECURITYPOLICY 省略可能 入力

指定されたキーからリンクを削除するには,アドレスを0に設定して REG$_LINKPATH アイテム・コードを入力します。値またはサブキー( またはその両方)があるキーにリンクを追加することはできません。

REG$FC_MODIFY_TREE_KEY
この要求は,指定されたキーとそのすべてのサブキーの属性を変更します。 リンクは追跡されず,変更されません。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_CACHEACTION 省略可能 入力
REG$_CLASSNAME 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力
REG$_SECURITYPOLICY 省略可能 入力

REG$FC_NOTIFY_CHANGE_KEY_VALUE
この要求は,指定されたキーまたはそのサブキーが変更されたときに, 呼び出しプロセスにそのことを通知します。つまり,要求された機能は制御を戻す前に, 指定された条件が発生するのを待ちます。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_FLAGSUBKEY 必須 入力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_NOTIFYFILTER 必須 入力
REG$_RETURNSTATUS 省略可能 出力

REG$FC_OPEN_KEY
この要求は指定されたキーを開きます。サブキーを指定しなかった場合は, REG$_KEYID に指定されているキーが開かれます。 REG$_KEYID に定義済みキー以外のキーが指定された場合は, そのキーを再び開きます(キーを複製します)。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_KEYRESULT 必須 出力
REG$_KEYPATH 省略可能 入力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_RETURNSTATUS 省略可能 出力
REG$_SECACCESS 必須 入力
REG$_SUBKEYNAME 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)

REG$FC_QUERY_KEY
この要求は,指定されたキーに関する属性を取得します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_CACHEACTION 省略可能 出力
REG$_CLASSNAME 省略可能 出力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_CLASSNAMEMAX 省略可能 出力
REG$_KEYFLAGS 省略可能 出力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LASTWRITE 省略可能 出力
REG$_LINKCOUNT 省略可能 出力
REG$_LINKPATH 省略可能 出力(Unicode 文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力
REG$_SECURITYPOLICY 省略可能 出力
REG$_SUBKEYNAMEMAX 省略可能 出力
REG$_SUBKEYSNUMBER 必須 出力
REG$_VALUEDATAMAX 省略可能 出力
REG$_VALUENAMEMAX 省略可能 出力
REG$_VALUENUMBER 省略可能 出力
REG$_VOLATILE 省略可能 出力

REG$FC_QUERY_VALUE
この要求は,指定された値名のタイプ,データ・フラグ,データを取得します。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめることができます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_DATAFLAGS 省略可能 出力
REG$_DATATYPE 省略可能 出力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_KEYID 必須 入力
REG$_LINKCOUNT 省略可能 出力
REG$_LINKPATH 省略可能 出力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力
REG$_SEPARATOR 省略可能 なし
REG$_VALUEDATA 省略可能 出力
REG$_VALUENAME 必須 入力
REG$_VOLATILE 省略可能 出力

REG$FC_SEARCH_TREE_DATA
この要求は,指定されたキーとそのすべての子孫をスキャンし,指定されたデータ情報と一致するものを検索します。 指定できるデータ情報は REG$_DATAFLAGS アイテム・コード,またはREG$_ DATATYPE アイテム・コードとREG$_VALUEDATA アイテム・ コードの組み合わせ,またはこの3つのアイテム・コードの組み合わせです。

REG$_FLAGOPCODE アイテム・コードは,REG$_ DATAFLAGS アイテム・コードをデータベースとどのように照合するかを指定します( REG$_FLAGOPCODE アイテム・コードの詳細については, アイテム・コードの説明を参照してください)。

一致するものが見つかると,そのたびに指定されたキーに対応するパス名が REG$_PATHBUFFER アイテム・コードに追加されます。値のパス名はUnicode のNull文字を使用して区切ります。

アプリケーションで提供されたバッファが十分な大きさでないために, 検索されたすべての値パス名を格納できない場合は,SS$_ BUFFEROVF エラー・メッセージがiosb引数に返され,操作を正常終了するのに必要な長さが REG$_REQLENGTH アイテム( 指定されている場合)に返されます。

REG$_KEYPATH アイテム・コードで0個以上のサブキーを照合するには, 繰り返し記号(...)ワイルドカードを使用します( たとえば,Hardware\...\disks と指定すると, Hardware サブキーから始まり,disk サブキーで終了し,その間に0個以上のサブキーのあるすべてのパスが検索されます) 。サブキー全体またはサブキーの一部だけを照合するには, REG$_KEYPATH アイテム・コードにアスタリスク(*)ワイルドカードを指定します。 キー名の中の1文字だけを照合するには,パーセント(%) ワイルドカードをREG$_KEYPATH アイテム・コードに指定します。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_DATAFLAGS 省略可能 入力
REG$_DATATYPE 省略可能 入力
REG$_FLAGOPCODE 省略可能 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_KEYID 必須 入力
REG$_PATHBUFFER 必須 出力
REG$_REQLENGTH 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力
REG$_VALUEDATA 省略可能 入力

REG$FC_SEARCH_TREE_KEY
この要求は,指定されたキーとそのすべての子孫をスキャンし,指定されたキー・ パスを検索します。

この機能コードの場合,指定できるキー・パスはUnicode文字列であり, 繰り返し記号(...),アスタリスク(*),パーセント(%)ワイルドカード文字を含むことができますが, 先頭にバックスラッシュ文字(\)を指定することはできません。

1つ以上のサブキーと一致することを指定するには,繰り返し記号(...) ワイルドカードをREG$_KEYPATH アイテム・コードに指定します( たとえば,Hardware\...\disks と指定すると, Hardware サブキーから始まり,disk サブキーで終了し, その間に0個以上のサブキーがあるすべてのパスが検索されます) 。サブキー全体またはサブキーの一部と一致することを指定するには, アスタリスク(*)ワイルドカードをREG$_KEYPATH アイテム・コードに指定します。キー名の1文字と一致することを指定するには, パーセント(%)ワイルドカードをREG$_KEYPATH アイテム・ コードに指定します。

次の例は正しいキー・パスを示しています。

       hardware\system\*\disk%%

一致するものが見つかるたびに,指定されたキー識別子を基準にした相対パス名が REG$_PATHBUFFER アイテム・コードに追加されます。 サブキーのパス名はUnicodeのNull文字(4バイト)で区切られます。

アプリケーションが提供したバッファが十分な大きさでないために, 検索したサブキーのすべてのパス名を格納できない場合は,SS$_ BUFFEROVF エラー・メッセージがiosb引数に返され,操作を正常終了するのに必要な長さが REG$_REQLENGTH アイテム( 指定されている場合)に返されます。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_PATHBUFFER 必須 出力
REG$_REQLENGTH 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力

REG$FC_SEARCH_TREE_VALUE
この要求は,指定されたキーとそのすべての子孫をスキャンし,指定された値名を検索します。

この機能コードの場合,指定できるキー名はUnicode文字列であり,繰り返し記号(...) ,アスタリスク(*),パーセント(%)ワイルドカード文字を含むことができますが, 先頭にバックスラッシュ文字(\)を指定することはできません。

1つ以上のサブキーと一致することを指定するには,繰り返し記号(...) ワイルドカードをREG$_KEYPATH アイテム・コードに指定します( たとえば,Hardware\...\disks と指定すると, Hardware サブキーから始まり,disk サブキーで終了し, その間に0個以上のサブキーがあるすべてのパスが検索されます) 。サブキー全体またはサブキーの一部と一致することを指定するには, アスタリスク(*)ワイルドカードをREG$_KEYPATH アイテム・コードに指定します。キー名の1文字と一致することを指定するには, パーセント(%)ワイルドカードをREG$_KEYPATH アイテム・ コードに指定します。

次の例は正しいキー・パスを示しています。

       hardware\system\...

この機能コードの場合,指定できる名前はUnicode文字列であり,アスタリスク(*) およびパーセント(%)ワイルドカード文字を含むことができます。

一致するものが見つかるたびに,指定されたキー識別子を基準にした相対パス名が REG$_PATHBUFFER アイテム・コードに追加されます。 サブキーのパス名はUnicodeのNull文字(4バイト)で区切られます。

アプリケーションが提供したバッファが十分な大きさでないために, 検索したサブキーのすべてのパス名を格納できない場合は,SS$_ BUFFEROVF エラー・メッセージがiosb引数に返され,操作を正常終了するのに必要な長さが REG$_REQLENGTH アイテム( 指定されている場合)に返されます。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_KEYID 必須 入力
REG$_PATHBUFFER 必須 出力
REG$_REQLENGTH 省略可能 出力
REG$_RETURNSTATUS 省略可能 出力
REG$_VALUENAME 必須 入力

REG$FC_SET_VALUE
この要求は,指定されたキーの値とタイプ情報を設定します。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめることができます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

値がリンクに設定される場合は,REG$M_IGNORE_LINKS 機能コード修飾子を指定した場合を除き, リンクが有効であるかどうか確認されます。

次のアイテム・コードを指定します。

アイテム・コード 必須 パラメータの種類
REG$_DATAFLAGS 省略可能 入力
REG$_DATATYPE 省略可能 入力
REG$_KEYID 必須 入力
REG$_KEYPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode文字は4バイトの長さである。)
REG$_LINKPATH 省略可能 入力(Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_LINKTYPE 省略可能 入力
REG$_RETURNSTATUS 省略可能 出力
REG$_SEPARATOR 省略可能 なし
REG$_VALUEDATA 省略可能 入力
REG$_VALUENAME 省略可能 入力

アイテム・コード 表 10-4は,itmlst引数にアイテム記述子として指定できるアイテム・ コードを示しています。この表にはアイテム・ コード,入力と出力の区別,データ・タイプが示されています。 各アイテム・コードの詳細については,この表の後の説明を参照してください。

表 10-4 アイテム・コードの要約

アイテム・コード 入力/出力 データ・タイプ
REG$_CACHEACTION 入力,出力 ロングワード
REG$_CLASSNAME 入力,出力 (Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_CLASSNAMEMAX 出力 ロングワード
REG$_DATAFLAGS 入力,出力 クォドワード
REG$_DATATYPE 入力,出力 ロングワード
REG$_DISPOSITION 出力 ロングワード
REG$_FILELOAD 入力 Unicode文字列
REG$_FLAGOPCODE 入力 ロングワード
REG$_FLAGSUBKEY 入力 ロングワード
REG$_KEYPATH 入力 (Unicode文字列を示すポインタ。Unicode文字は4 バイトの長さである。)
REG$_KEYFLAGS 入力,出力 ロングワード
REG$_KEYID 入力,出力 ロングワード
REG$_KEYRESULT 出力 ロングワード
REG$_LASTWRITE 出力 クォドワード
REG$_LINKCOUNT 出力 ロングワード
REG$_LINKPATH 入力,出力 (Unicode文字列を示すポインタ。Unicode 文字は4バイトの長さである。)
REG$_LINKTYPE 入力, 出力 ロングワード
REG$_NEWNAME 入力 Unicode文字列
REG$_NOTIFYFILTER 入力 ロングワード
REG$_PATHBUFFER 出力 バッファ
REG$_REQLENGTH 出力 ロングワード
REG$_RETURNSTATUS 出力 ロングワード
REG$_SECACCESS 入力 ロングワード
REG$_SECURITYPOLICY 入力,出力 ロングワード
REG$_SEPARATOR なし なし
REG$_SUBKEYINDEX 入力 ロングワード
REG$_SUBKEYNAME 入力,出力 (Unicode文字列を示すポインタ。Unicode文字は4 バイトの長さである。)
REG$_SUBKEYNAMEMAX 出力 ロングワード
REG$_SUBKEYSNUMBER 出力 ロングワード
REG$_VALUEDATA 入力,出力 バッファ
REG$_VALUEDATAMAX 出力 ロングワード
REG$_VALUEINDEX 入力 ロングワード
REG$_VALUENAME 入力, 出力 Unicode文字列
REG$_VALUENAMEMAX 出力 ロングワード
REG$_VALUENUMBER 出力 ロングワード
REG$_VOLATILE 入力,出力 ロングワード

REG$_CACHEACTION
REG$_CACHEACTION アイテム・コードは入力アイテム・ コードです。このアイテム・コードは,指定されたオブジェクトに関する情報をディスクに直ちに書き込まなければならないかどうかを指定するロングワード・ フラグです。次のいずれかの値です。

キャッシュ値 説明
REG$K_WRITEBEHIND 指定されたオブジェクトに関する情報をディスクに後で書き込む( デフォルト) 。
REG$K_WRITETHRU 指定されたオブジェクトに関する情報をディスクに直ちに書き込む。


注意
このアイテム・コードを指定しなかった場合は, 値またはキーはその値を親オブジェクトから継承します。 デフォルトでは,エントリ・ポイント (REG$_HKEY_CLASSES_ROOTREG$_HKEY_LOCAL_MACHINEREG$_HKEY_USERS )は, REG$K_WRITEBEHIND に等しい値に設定されます。

REG$_CLASSNAME
REG$_CLASSNAME アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。 クラス名はキーの情報フィールドです。たとえば,オブジェクトのタイプはクラス名です。 このアイテム・コードはUnicode文字列で構成できます。Unicode 文字は4バイト長です。
REG$_CLASSNAMEMAX
REG$_CLASSNAMEMAX アイテム・コードは出力アイテム・ コードです。サブキーのクラス名を指定する最長の文字列の長さ(バイト数) が格納されます。
REG$_DATAFLAGS
REG$_DATAFLAGS アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。 これは64ビットのアプリケーションに依存する値データ・フラグです。
REG$_DATATYPE
REG$_DATATYPE アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。これは, 値データとして格納される情報のタイプを指定するか,または指定された値データ・ コンポーネントの情報のタイプを格納します。値は次のいずれかです。

タイプ・コード 説明
REG$K_BINARY バイナリ・データ
REG$K_DWORD 32ビット数値
REG$K_EXPAND_SZ Unicode文字列
REG$K_MULTI_SZ REG$K_SZ 文字列を連結した配列
REG$K_NONE 定義されている値タイプなし( デフォルト)
REG$K_QWORD 64ビット数値
REG$K_SZ 最後がNullのUnicode文字列


REG$K_EXPAND_SZREG$K_SZ の相違点

文字列は通常,人間が判読できる形式の一連の文字です。OpenVMS Registry の多くの値エントリは, string (REG_SZ )またはexpandable string (REG_EXPAND_SZ )形式を使用して書き込まれます。拡張可能文字列は通常, 人間が判読可能なテキストですが,文字列がアプリケーションから呼び出されるときに置換される変数が含まれることもあります。

たとえば,Windows NTシステムでは,値エントリ %SystemRoot%\System32\Bootok.exe%SystemRoot% は変数の拡張可能な部分です。この部分は,Windows NT システム・ファイルが格納されているディレクトリの実際の場所に置き換えられます。


REG$_DISPOSITION
REG$_DISPOSITION アイテム・コードは出力アイテム・ コードです。これはロングワードであり,値は次のいずれかです。

処置の値 説明
REG$K_CREATENEWKEY キーが存在しなかったので作成された。
REG$K_ OPENEXISTINGKEY キーが存在し,開かれた。

REG$_FLAGOPCODE
REG$_FLAGOPCODE アイテム・コードは入力アイテム・ コードです。これは,REG$_DATAFLAGS 入力アイテム・コードをOpenVMS Registry データベース内のデータ・ フラグ・フィールドとどのような方法で照合するかを示すロングワード・ フラグです。値は次のいずれかです。

オペレータ・コード・オプション 説明
REG$K_ANY OpenVMS Registryデータベース内のデータ・ フィールドには,REG$_DATAFLAGS 入力アイテム・ コードのフラグが少なくとも1つ含まれていなければならない。
REG$K_EXACTMATCH REG$_DATAFLAGS 入力アイテム・コードは,OpenVMS Registry データベース内のdata flags フィールドと正確に一致しなければならない。
REG$K_EXCLUDE OpenVMS Registryデータベース内のdata flags フィールドには,REG$_DATAFLAGS 入力アイテム・コード内のフラグが含まれては ならない
REG$K_INCLUDE OpenVMS Registryデータベース内のdata flags フィールドには, 少なくともREG$_DATAFLAGS 入力アイテム・コード内のフラグが含まれなければならない。
REG$K_NOTANY OpenVMS Registryデータベース内のデータ・ フィールドには, REG$_DATAFLAGS 入力アイテム・コード内のどのフラグも含まれては ならない

REG$_FLAGSUBKEY
REG$_FLAGSUBKEY アイテム・コードは入力アイテム・ コードです。これはロングワードの論理値(Boolean)フィールドであり, 次のことを指定します。

REG$_KEYID
REG$_KEYID アイテム・コードは入力アイテム・コードです。 これはキー識別子を含むロングワードです。

REG$_KEYRESULT
REG$_KEYRESULT アイテム・コードは出力アイテム・ コードです。これはキー識別子を受け取るロングワードです。キー識別子は, REG$_KEYID アイテム・コードを使用して,他のレジストリ呼び出しに渡すことができます。

REG$_KEYPATH
REG$_KEYPATH アイテム・コードは入力アイテム・コードです。 これはキー・パスを指定するUnicode文字列です。Unicode文字は4 バイト長です。

REG$_LASTWRITE
REG$_LASTWRITE アイテム・コードは出力アイテム・ コードです。これは絶対時間を表すクォドワードであり,指定されたキーが最後に書き込まれた時刻( 値の変更を含む)を受け取ります。

REG$_LINKCOUNT
REG$_LINKCOUNT アイテム・コードは出力アイテム・ コードです。これはアイテムを参照するシンボリック・リンクの数を示すロングワードです。

REG$_LINKPATH
REG$_LINKPATH アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。これは指定されたキーのリンク先のキー・ パスを指定するUnicode文字列です。Unicode 文字は4バイト長です。

REG$_LINKTYPE
REG$_LINKTYPE アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。これはリンク・ タイプを示すロングワードです。

リンク・タイプ 説明
REG$K_NONE リンクなし(デフォルト)
REG$K_SYMBOLICLINK シンボリック(論理)リンク

REG$_NEWNAME
REG$_NEWNAME アイテム・コードは,キーの新しい名前を指定するUnicode 文字列です。

REG$_NOTIFYFILTER
REG$_NOTIFYFILTER アイテム・コードは入力アイテム・ コードです。これは,指定されたキーとそのサブキーおよび値に対して, どの変更を報告するかを指定するロングワード・マスクです。次の値を任意の組み合わせで指定します。

説明
REG$M_CHANGEATTRIBUTES 指定されたキーまたはそのサブキーの属性の変更。
REG$M_CHANGELASTSET 指定されたキーまたはそのサブキーの最終書き込み時刻の変更。
REG$M_CHANGENAME 作成と削除も含めて, 指定されたキーまたはそのサブキーのキー名の変更。


注意
指定されたキーのサブキーに対する変更が報告されるのは, REG$_FLAGSUBKEY アイテム・コードが1に設定されている場合だけです。

REG$_PATHBUFFER
REG$_PATHBUFFER アイテム・コードは出力アイテム・ コードです。これは,UnicodeのNull文字(4バイト長)で区切られたキー・ パスまたは値パスの集合を受け取るバッファです(アイテム記述子の3番目のロングワードには, バッファに書き込まれたバイト数が格納されます) 。

REG$_REQLENGTH
REG$_REQLENGTH アイテム・コードは出力アイテム・ コードです。操作を正常終了するのに必要なバッファ・サイズ(バイト数) を受け取るロングワードです。

REG$_RETURNSTATUS
REG$_RETURNSTATUS アイテム・コードは出力アイテム・ コードです。指定された操作の最終終了状態を受け取るロングワードです。 詳細については,この章の返される条件値を参照してください。

REG$_SECACCESS
REG$_SECACCESS アイテム・コードは入力アイテム・ コードです。新しいキーにとって適切なセキュリティ・アクセスを指定するロングワード・ マスクです。次の値を任意に組み合わせて指定できます。

セキュリティ・アクセス・マスク 説明
REG$M_ALLACCESS 次のアクセス値の組み合わせ。
REG$K_CREATELINK
REG$K_CREATESUBKEY
REG$K_ENUMSUBKEYS
REG$K_NOTIFY
REG$K_QUERYVALUE
REG$K_SETVALUE
REG$M_CREATELINK シンボリック・リンクの作成を許可する。
REG$M_CREATESUBKEY サブキーの作成を許可する。
REG$M_ENUMSUBKEYS サブキーの列挙を許可する。
REG$M_EXECUTE 読み込みアクセスを許可する。
REG$M_NOTIFY 変更の通知を許可する。
REG$M_QUERYVALUE サブキーのデータの問い合わせを許可する。
REG$M_READ 次のアクセス値の組み合わせ。
REG$K_ENUMSUBKEYS
REG$K_QUERYVALUE
REG$K_NOTIFY
REG$M_SETVALUE 値とデータの設定を許可する。
REG$M_WRITE 次のアクセス値の組み合わせ。
REG$K_CREATESUBKEY
REG$K_SETVALUE

REG$_SECURITYPOLICY
REG$_SECURITYPOLICY アイテム・コードは入力アイテム・ コードです。キーに対して適用されるセキュリティ・ポリシーを指定するロングワードです。 値は次のとおりです。

ポリシーの設定 説明
REG$K_POLICY_NT_40 最初のキーと要求されたキーに対してアクセス権が必要である( デフォルト) 。

REG$_SEPARATOR
REG$_SEPARATOR アイテム・コードは空アイテム・コードです。 これは複数のアイテム・コードを区切るためのセパレータです。

この機能コードを使用すると,複数の要求を$REGISTRYサービスに対する1 つの呼び出しにまとめることができます。この複数要求機能を使用するには, REG$_SEPARATOR アイテム・コードを使用して,現在の要求のアイテム・ コード・セットの最後を示し,その後に別の要求が続くことを指定しなければなりません。

REG$_SUBKEYINDEX
REG$_SUBKEYINDEX アイテム・コードは入力アイテム・ コードです。検索するサブキーのインデックスを指定するロングワードです。

REG$_SUBKEYNAME
REG$_SUBKEYNAME アイテム・コードは入力アイテム・ コードです。サブキーの名前を指定するUnicode文字列です。Unicode文字は4 バイト長です。

REG$_SUBKEYNAMEMAX
REG$_SUBKEYNAMEMAX アイテム・コードは出力アイテム・ コードです。指定されたキーの最長のサブキー名の長さ(文字数)を受け取るロングワードです。

REG$_SUBKEYSNUMBER
REG$_SUBKEYSNUMBER アイテム・コードは出力アイテム・ コードです。指定されたキーに含まれているサブキーの数を受け取るロングワードです。

REG$_VALUEINDEX
REG$_VALUEINDEX アイテム・コードは入力アイテム・ コードです。指定されたキー内で検索する値のインデックスを指定するロングワードです。 値のインデックスは0から始まり,REG$_ VALUENUMBER から返された数より1だけ少ない値まで可能です。

REG$_VALUEDATA
REG$_VALUEDATA アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。OpenVMS Registry に書き込まれる値データ・ コンポーネントが格納されるバッファであるか(入力),OpenVMS Registryからデータ値コンポーネントを受け取るバッファになります( 出力)。

REG$_VALUEDATAMAX
REG$_VALUEDATAMAX アイテム・コードは出力アイテム・ コードです。指定されたキーの最長のデータ・コンポーネント値の長さ( バイト数)を受け取るロングワードです。

REG$_VALUENAME
REG$_VALUENAME アイテム・コードは,機能コードに応じて, 入力アイテム・コードまたは出力アイテム・コードになります。 値の名前を指定するUnicode文字列です。

REG$_VALUENAMEMAX
REG$_VALUENAMEMAX アイテム・コードは出力アイテム・ コードです。指定されたキーの最長の値名の長さ(文字数)を受け取るロングワードです。

REG$_VALUENUMBER
REG$_VALUENUMBER アイテム・コードは出力アイテム・ コードです。指定されたキーに含まれている値の数を受け取るロングワードです。

REG$_VOLATILE
REG$_VOLATILE アイテム・コードはアイテムの揮発性を示します。 出力として,オブジェクトの揮発性を返します。 OpenVMSでは,揮発性キーと揮発性値は,OpenVMS Registryサーバを稼動しているすべてのノードがリブートされたときに失われます( スタンドアロン・システムでは,揮発性キーと揮発性値は, システムのリブート時に失われます)。

揮発性タイプ 説明
REG$K_CLUSTER アイテムはクラスタのリブート時に削除される。
REG$K_NONE アイテムは揮発性ではない(デフォルト)。

機能修飾子機能修飾子を使用すると, 機能コード値の上位ビットを必要に応じて指定できます。 これらの各ビットは機能の動作を変更できます。

たとえば,REG$FC_CREATE_KEY という機能に対して REG$M_CASE_SENSITIVE 機能修飾子を指定できます。 このように機能と機能修飾子を組み合わせて使用すると,OpenVMS Registryに渡されるデータで大文字と小文字が区別されます。2 つの値はDEC Cでは,REG$M_CASE_SENSITIVE|REG$FC_ CREATE_KEY として指定されます。

OpenVMS Registry機能修飾子はヘッダ・ファイル REGDEF.H に定義されています。

REG$M_CASE_SENSITIVE

キーと値を照合するときに,大文字と小文字を区別します。

REG$M_DISABLE_WILDCARDS

この機能に対しては,ワイルドカード文字を通常の文字として取り扱います。

REG$M_IGNORE_LINKS

操作がキーまたは値に関連付けられたシンボリック・リンクを追跡しないことを指定します。

デフォルト設定では,キーまたは値が別のキーまたは値にシンボリック・ リンクで関連付けられている場合,システムはすべてのリンクを追跡し, 機能コードに指定された操作をリンクされているキーまたは値に対して実行します。

REG$M_IGNORE_LINKS 機能修飾子を指定すると,機能コードによって指定された操作は指定されたキーまたは値にだけ影響し, リンク先のキーや値には影響しません。

デフォルト設定では,キーまたは値にシンボリック・リンクが設定されている場合は, そのキーや値を削除できません。しかし,REG$M_ IGNORE_LINKS 機能修飾子を指定した場合は,キーまたは値は削除されます。

REG$M_NOW

REG$_CACHEACTION アイテム・コードの値とは無関係に, ディスクに直ちに書き込みます。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]