RegOpenKeyW 関数 (winreg.h)
指定したレジストリ キーを開きます。
構文
LSTATUS RegOpenKeyW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[out] PHKEY phkResult
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 このハンドルは、
- 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winreg.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
関連項目
RegDeleteKey を
RegOpenKeyEx を
レジストリ関数 を