<Return[R]><Top>

RegFlushKey

Declare Function Api_RegFlushKey& Lib "advapi32" Alias "RegFlushKey" (ByVal hKey&)

Declare Function RegFlushKey Lib "advapi32" (ByVal hKey As Long) As Long

指定されたキーのすべての属性を、レジストリに書き込む。

パラメータ
hKey
    現在開いているキーのハンドルを指定する。

    代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    Windows NT/2000:HKEY_PERFORMANCE_DATA も指定できる。
    Windows 95/98:HKEY_DYN_DATA も指定できる。

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

    FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して 関数を呼び出すと、エラーの一般的な説明を取得できる。

解説
    キーに変更を加えた場合でも、RegFlushKey 関数を呼び出す必要はない。レジストリに変更を加えた後、レジストリの遅延フラッシュ(遅

    延書き込み)機能がその変更結果をディスクへ書き込む。

    また、システムのシャットダウン時にも、レジストリの変更結果がフラッシュされる。
    RegFlushKey 関数は、RegCloseKey 関数とは異なり、すべてのデータをレジストリに書き込み終わるまで制御を返さない。
    RegFlushKey 関数を実行すると、変更を加えたキー以外に、ほかのキーの一部または全部を書き込むことがある。このため、この関数を

    頻繁に呼び出すと、アプリケーションのパフォーマンスが低下することがある。
    レジストリの変更結果を確実にディスクへ書き込むことがどうしても必要な場合にのみ、RegFlushKey 関数を呼び出す。通常は、 

    RegFlushKey 関数を呼び出す必要はない。
    Windows 95/98:レジストリのサブキー名、およびレジストリエントリ名の長さは、最大 255 文字である。