RegOpenKeyA 関数 (winreg.h)

指定したレジストリ キーが開きます。

メモ この関数は、16 ビット バージョンの Windows との互換性のためにのみ提供されます。 アプリケーションでは 、RegOpenKeyEx 関数を使用する必要があります。
 

構文

LSTATUS RegOpenKeyA(
  [in]           HKEY   hKey,
  [in, optional] LPCSTR lpSubKey,
  [out]          PHKEY  phkResult
);

パラメーター

[in] hKey

開いているレジストリ キーへのハンドル。 このハンドルは、 RegCreateKeyEx または RegOpenKeyEx 関数によって返されます。または、次の 定義済みキーのいずれかを指定できます。

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_CONFIG
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS

[in, optional] lpSubKey

開くレジストリ キーの名前。 このキーは、 hKey パラメーターで識別されるキーのサブキーである必要があります。

キー名では大文字と小文字は区別されません。

このパラメーターが NULL または空の文字列へのポインターである場合、関数は渡されたのと同じハンドルを返します。

詳細については、「 レジストリ要素のサイズ制限」を参照してください。

[out] phkResult

開かれたキーへのハンドルを受け取る変数へのポインター。 キーが定義済みのレジストリ キーの 1 つでない場合は、ハンドルの使用が完了したら 、RegCloseKey 関数を呼び出します。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。

関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。

注釈

RegOpenKey 関数は、既定のセキュリティ アクセス マスクを使用してキーを開きます。 キーを開くときに別のアクセス権が必要な場合、関数は失敗し、ERROR_ACCESS_DENIEDを返します。 この状況では、アプリケーションで RegOpenKeyEx 関数を使用してアクセス マスクを指定する必要があります。

データベースにキーが存在しない場合、RegOpenKey は指定されたキーを作成しません。

サービスまたはアプリケーションが異なるユーザーを偽装する場合は、この関数を HKEY_CURRENT_USERと共に使用しないでください。 代わりに、 RegOpenCurrentUser 関数を呼び出します。

注意

winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegOpenKey を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winreg.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

RegCloseKey

RegDeleteKey

RegOpenKeyEx

レジストリ関数

レジストリの概要