SHRegGetUSValueW 関数 (shlwapi.h)
ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) のレジストリ サブキーから値を取得します。
構文
LSTATUS SHRegGetUSValueW(
[in] LPCWSTR pszSubKey,
[in, optional] LPCWSTR pszValue,
[in, out, optional] DWORD *pdwType,
[out, optional] void *pvData,
[in, out, optional] DWORD *pcbData,
[in] BOOL fIgnoreHKCU,
[in, optional] void *pvDefaultData,
[in] DWORD dwDefaultDataSize
);
パラメーター
[in] pszSubKey
型: LPCTSTR
HKEY_LOCAL_MACHINEとHKEY_CURRENT_USERを基準にしたサブキーの名前を持つ null で終わる文字列へのポインター。 たとえば、"Software\MyCompany\MyProduct" です。
[in, optional] pszValue
型: LPCTSTR
値の名前を持つ null で終わる文字列へのポインター。 この値は NULL にすることができます。
[in, out, optional] pdwType
種類: DWORD*
取得した値に格納されているデータの種類を受け取る DWORD へのポインター。 既定値を使用する場合、入力 pdwType は既定値の型です。 使用可能な値については、「 レジストリ データ型」を参照してください。 型情報が必要ない場合、このパラメーターは NULL にすることができます。
[out, optional] pvData
型: void*
値のデータを受け取るバッファーへのポインター。
[in, out, optional] pcbData
種類: DWORD*
pvData が指すバッファーのサイズをバイト単位で指定する変数へのポインター。 SHRegGetUSValue が返されると、pcbData には pvData にコピーされたデータのサイズが含まれます。
[in] fIgnoreHKCU
種類: BOOL
検索するキーを指定する変数。 TRUE に設定すると、SHRegGetUSValue はHKEY_CURRENT_USERを無視し、HKEY_LOCAL_MACHINE下のキーから値を返します。
[in, optional] pvDefaultData
型: void*
値の既定のデータを受け取るバッファーへのポインター。
[in] dwDefaultDataSize
型: DWORD
pvDefaultData が指すバッファーの長さ (バイト単位)。
戻り値
種類: LSTATUS
成功した場合はERROR_SUCCESSを返し、それ以外の場合は Winerror.h で定義されている 0 以外のエラー コードを返します。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用して、エラーの一般的な説明を取得できます。
注釈
fIgnoreHKCU が TRUE に設定されている場合、SHRegGetUSValue は HKEY_LOCAL_MACHINE の下のキーから値を返します。 FALSE に設定すると、SHRegGetUSValue は最初に HKEY_CURRENT_USER 下のキーから値を返そうとします。 ただし、 HKEY_CURRENT_USERでキーが見つからない場合は、 HKEY_LOCAL_MACHINEのキーから値が返されます。 どちらのキーも存在しない場合、またはエラーが発生し、 dwDefaultDataSize が 0 以外の場合は、既定のデータが pvData にコピーされ、ERROR_SUCCESSが返されます。 ERROR_SUCCESSは、既定のデータと既定以外のデータの両方に対して を返し、 pvData にコピーする値を区別する方法はありません。 既定のデータを使用しないようにするには、 pvDefaultData を NULL に設定し、 dwDefaultDataSize を 0 に設定します。
この関数は、キーが使用されるたびにキーを開きます。 コードで同じキーから一連の値を取得する必要がある場合は、 SHRegOpenUSKey を使用してキーを 1 回開き、 SHRegQueryUSValue を使用してデータを取得する方が効率的です。
注意
shlwapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHRegGetUSValue を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 4.71 以降) |