SHRegGetValueW 関数 (shlwapi.h)
[SHRegGetValue は、以降のバージョンのオペレーティング システムまたは製品で変更または使用できない可能性があります。 その場所 RegGetValue を使用します。]
レジストリ値を取得します。
構文
LSTATUS SHRegGetValueW(
[in] HKEY hkey,
[in] LPCWSTR pszSubKey,
[in] LPCWSTR pszValue,
[in] SRRF srrfFlags,
[in, out] DWORD *pdwType,
[out] void *pvData,
[in, out] DWORD *pcbData
);
パラメーター
[in] hkey
型: HKEY
現在開いているキーへのハンドル、または次の定義済みの値のいずれか。
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
[in] pszSubKey
型: LPCTSTR
[in] pszValue
型: LPCTSTR
値の名前を含む -terminated 文字列
[in] srrfFlags
型: SRRF
取得するデータを制限する 1 つ以上の SRRF フラグ。 少なくとも 1 つの型制限 (SRRF_RT) 値を指定する必要があります。
[in, out] pdwType
型: LPDWORD
取得した値に格納されているデータの型を受け取る DWORD へのポインター。 既定値を使用する場合、pdwType
[out] pvData
型: LPVOID
値のデータを受け取るバッファーへのポインター。 データが不要な場合、このパラメーターは NULL
[in, out] pcbData
型: LPDWORD
エントリ時に、pvData
pvData | 戻り値 | pcbData |
---|---|---|
NULL | ERROR_SUCCESS | レジストリ データを保持するのに十分なサイズ (バイト単位)。 これは正確なサイズであるとは限りませんが、十分なサイズのみであることに注意してください。 |
非NULL | ERROR_SUCCESS | pvDataに書き込まれた正確なバイト数。 |
非NULL | ERROR_MORE_DATA | データ全体を保持するために必要なサイズ (バイト単位)。 これは正確なサイズであるとは限りませんが、十分なサイズのみであることに注意してください。 |
戻り値
型: LSTATUS
成功した場合は ERROR_SUCCESS を返し、それ以外の場合は Winerror.h で定義された 0 以外のエラー コードを返します。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用して、エラーの一般的な説明を取得できます。
備考
hkey によって識別されるキーは、セキュリティ アクセス KEY_QUERY_VALUE 使用して開かれている必要があります。 pszSubKey
データの型がREG_SZ、REG_EXPAND_SZ、またはREG_MULTI_SZの場合、返されるデータには、文字列の null-termination が含まれるか、考慮されます。 たとえば、pvData
SRRF_NOEXPAND フラグが設定されていない限り、REG_EXPAND_SZ型の文字列データは、返される前に自動的に展開されます。 展開された文字列の型は、REG_SZ
パフォーマンスに関する注意事項
データ型がREG_EXPAND_SZされ、SRRF_NOEXPAND フラグが設定されていない場合に、レジストリを追加で呼び出してデータの読み取りまたは再読み取りを行う可能性があります。 次の条件は、その追加の呼び出しになります。
- pvData が NULL
、pcbData が NULL 。 データは取得されませんが、レジストリを読み取って文字列を取得し、その文字列を展開してデータ バッファーの必要なサイズを決定する必要があります。 pvData は NULLされませんが、データを保持するには小さすぎます。 データは、完全な文字列を取得するために再読み取りされ、文字列が展開され、必要な合計サイズが決定されます。
手記
shlwapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHRegGetValue を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP と SP2 [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | shlwapi.h |
ライブラリ | Shlwapi.lib |
DLL | Shlwapi.dll (バージョン 6.0 以降) |
関連項目
RegQueryValueEx の