HKEY RalOpen( HKEY hKey, PCTSTR pszName, DWORD dwType, DWORD dwOption );

HKEY hKey; /* キーハンドル */
PCTSTR pszName; /* キー名 */
DWORD dwType; /* タイプ */
DWORD dwOption;  /* オプション */

指定されたキーをオープンしてそのハンドルを取得します。

引数

hKey キーハンドルを指定します。
pszName キー名を指定します。
dwType 動作を決定するタイプを指定します。
dwTypeには以下の定数のいずれかを指定できます。
  RO_OPENKEY hKeypszNameで指定されたキーをオープンします。
hKeypszNameともにNULLを指定できません。
キーは既に存在している必要があります。
RO_OPENKEYが指定された場合はdwOptionをキーをオープンする際のセキュリティアクセスフラグとして使用します。
  RO_CREATEKEY  hKeypszNameで指定されたキーをオープンします。
hKeypszNameともにNULLを指定できません。
キーが存在しなければ作成します。
RO_CREATEKEYが指定された場合はdwOptionをキーをオープンする際のセキュリティアクセスフラグとして使用します。
  RO_TESTKEY hKeypszNameで指定されたキーをオープンしてクローズします。
hKeypszNameともにNULLを指定できません。
RO_TESTKEYはキーの存在を確認する際に使用します。
RO_TESTKEYが指定された場合はdwOptionをキーをオープンする際のセキュリティアクセスフラグとして使用します。
  RO_OPEN hKeypszNameで指定されたキーをオープンします。
hKeypszNameともにNULLを指定できません。
RO_OPENが指定された場合はdwOptionにRO_CLOSE、RO_CREATE、RO_ENUMERATE、RO_EXTENSION、RO_ITEM、RO_READ、RO_WRITEを指定できます。
  RO_COPY hKeypszNameで指定されたキーをコピー操作用にオープンします。
RO_COPYを指定して取得したキーハンドルはRalCopyに指定できます。
hKeypszNameともにNULLを指定できません。
RO_COPYが指定された場合はdwOptionにRO_CLOSE、RO_CREATE、RO_DESTINATION、RO_EXTENSION、RO_ITEM、RO_MOVE、RO_SOURCEを指定できます。
dwOption  オプションまたはセキュリティアクセスフラグを指定します。
dwOptionに指定できる内容はdwTypeによって変わります。
dwTypeにRO_OPENKEY、RO_CREATEKEY、RO_TESTKEYを指定した場合はdwOptionにセキュリティアクセスフラグを指定します。
セキュリティアクセスフラグには以下の定数を組み合わせて指定できます。
  KEY_CREATE_LINK
  KEY_CREATE_SUB_KEY
  KEY_ENUMERATE_SUB_KEYS
  KEY_NOTIFY
  KEY_QUERY_VALUE
  KEY_SET_VALUE
dwTypeにRO_OPEN、RO_COPYを指定した場合は動作のオプションを指定します。
以下の定数を組み合わせて指定できます。
  RO_DESTINATION  RalCopyのコピー・移動先として指定できるキーを取得します。
RO_DESTINATIONが指定されていなければコピー・移動元として指定できるキーを取得します。
RO_DESTINATIONはdwTypeがRO_COPYの場合に指定できます。
  RO_MOVE RalCopyの移動元として指定できるキーを取得します。
RO_MOVEが指定されていなければコピー元として指定できるキーを取得します。
RO_MOVEはdwTypeがRO_COPYの場合に指定できます。
またRO_DESTINATIONとともに指定することは出来ません。
  RO_EXTENSION 拡張子キーを取得します。
RO_EXTENSIONが指定されている場合はhKeyは無視されます。
RO_EXTENSIONはdwTypeがRO_COPY、RO_OPENの場合に指定できます。
  RO_ITEM アプリケーション情報キーを取得します。
RO_ITEMが指定されている場合はhKeyは無視されます。
RO_ITEMはdwTypeがRO_COPY、RO_OPENの場合に指定できます。
  RO_READ 読み取り操作用にキーを取得します。
RO_ENUMERATE、RO_READ、RO_WRITEのいずれも指定されていない場合はRO_READが指定されたモノとみなされます。
RO_READはdwTypeがRO_OPENの場合に指定できます。
  RO_WRITE 書き込み操作用にキーを取得します。
RO_WRITEはdwTypeがRO_OPENの場合に指定できます。
  RO_ENUMERATE 列挙操作用にキーを取得します。
RO_ENUMERATEはdwTypeがRO_OPENの場合に指定できます。
  RO_CREATE hKeypszNameで指定されたキーが存在しない場合に作成します。
RO_CREATEはdwTypeがRO_COPY、RO_OPENの場合に指定できます。
  RO_CLOSE キーをオープンした後にクローズします。
戻り値はオープンされたキーハンドルになりますが、クローズされたモノなので有効ではありません。
RO_CLOSEはキーの存在を確認する際に使用します。
RO_CLOSEはdwTypeがRO_COPY、RO_OPENの場合に指定できます。

戻り値

正常終了ならキーハンドル、それ以外はNULLを返します。


戻る