<Return[R]><Top>

RegOpenCurrentUser

Declare Function Api_RegOpenCurrentUser& Lib "advapi32" Alias "RegOpenCurrentUser" (ByVal samDesired&, ByRef phkResult&)

Declare Function RegOpenCurrentUser Lib "advapi32" Alias "RegOpenCurrentUser" (ByVal samDesired As Long, ByRef phkResult As Long) As Long

現在のスレッドが装っているユーザーの HKEY_CURRENT_USER キーのハンドルを取得する。

パラメータ
samDesired
    取得するキーに必要なアクセス権利を表すアクセスマスクを指定する。次の値を組み合わせて指定できる。

    値                                                 

意味                                                                                                                 

    KEY_CREATE_LINK

シンボリックリンクを作成するためのアクセス権を要求する。

    KEY_CREATE_SUB_KEY

サブキーを作成するためのアクセス権を要求する。

    KEY_ENUMERATE_SUB_KEYS

サブキーを列挙するためのアクセス権を要求する。

    KEY_EXECUTE

読み取りアクセスのためのアクセス権を要求する。

    KEY_NOTIFY

変更通知のためのアクセス権を要求する。

    KEY_QUERY_VALUE

サブキーデータ問い合わせのためのアクセス権を要求する。

    KEY_SET_VALUE

サブキーデータ設定のためのアクセス権を要求する。

    KEY_ALL_ACCESS

 

KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYS、KEY_NOTIFY、KEY_CREATE_SUB_KEY、KEY_CREATE_LINK、KEY_SET_VALUE に加え、SYNCHRONIZE を除くすべてのを要求する。

    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 を要求する。

phkResult
    開かれたキーのハンドルを受け取る変数へのポインタを指定する。不要になったハンドルは、 RegCloseKey 関数を使って閉じる。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。
    関数が失敗すると、WINERROR.H ヘッダーファイルで定義されている 0 以外のエラーコードが返る。

    FORMAT_MESSAGE_FROM_SYSTEM フラグをセットした 関数を使うと、エラーの一般的な説明文を取得できる。

解説
    HKEY_CURRENT_USER キーは、同じプロセスに属するすべてのスレッドのキャッシュに入る。プロセスが複数のユーザーを装っていると

    き、そのプロセスに属するスレッドは RegOpenCurrentUser 関数を使って対応するキーにアクセスできる。