SHRegQueryUSValueW 関数 (shlwapi.h)

ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) の開いているレジストリ サブキーに関連付けられている指定した名前の型とデータを取得します。

構文

LSTATUS SHRegQueryUSValueW(
  [in]                HUSKEY  hUSKey,
  [in, optional]      LPCWSTR pszValue,
  [in, out, optional] DWORD   *pdwType,
  [out, optional]     void    *pvData,
  [in, out]           DWORD   *pcbData,
  [in]                BOOL    fIgnoreHKCU,
  [in, optional]      void    *pvDefaultData,
  [in, optional]      DWORD   dwDefaultDataSize
);

パラメーター

[in] hUSKey

タイプ: ハスキー

現在開いているレジストリ サブキーへのハンドル、または次の定義済みの値のいずれか。 サブキーは、KEY_SET_VALUEアクセス権を使用して開かれている必要があります。 詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。

このハンドルは 、SHRegOpenUSKey 関数を使用して取得できます。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszValue

種類: LPCTSTR

クエリ対象の値の名前を含む null で終わる文字列へのポインター。

[in, out, optional] pdwType

種類: LPDWORD*

キーの値型を設定または受け取る変数へのポインター。 詳細については、「 レジストリ データ型」を参照してください。 このパラメーターは、NULL でもかまいません。

[out, optional] pvData

種類: LPVOID*

値のデータを受け取るバッファーへのポインター。 データが必要ない場合、このパラメーターは NULL にすることができます

[in, out] pcbData

種類: LPDWORD*

pvData パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数が戻るときに、この変数には pvData にコピーされたデータのサイズが含まれます。

[in] fIgnoreHKCU

種類: BOOL

検索するキーを指定する変数。 TRUE に設定すると、SHRegQueryUSValueHKEY_CURRENT_USERを無視し、HKEY_LOCAL_MACHINEの下のキーから値を返します。

[in, optional] pvDefaultData

種類: LPVOID*

既定のデータへのポインター。

[in, optional] dwDefaultDataSize

型: DWORD

既定のデータの長さ (バイト単位)。

戻り値

種類: LSTATUS

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

注釈

fIgnoreHKCUTRUE に設定されている場合、SHRegQueryUSValueHKEY_LOCAL_MACHINEの下のキーから値を返します。 FALSE に設定すると、SHRegQueryUSValue は最初に HKEY_CURRENT_USER の下のキーから値を返そうとします。 ただし、 HKEY_CURRENT_USERでキーが見つからない場合、値は HKEY_LOCAL_MACHINE の下のキーから返されます。 どちらのキーも存在しない場合、またはエラーが発生し、 dwDefaultDataSize が 0 以外の場合は、既定のデータが pvData にコピーされ、ERROR_SUCCESSが返されます。 ERROR_SUCCESSは、既定のデータと既定以外のデータの両方に対して を返し、 pvData にコピーする値を区別する方法はありません。 既定のデータが使用されないようにするには、 pvDefaultDataNULL に設定し、 dwDefaultDataSize を 0 に設定します。

1 つの値のみを読み取る必要がある場合、 SHRegGetUSValue は両方ともキーを開き、値を返します。 SHRegQueryUSValue を使用するには、最初に SHRegOpenUSKey を使用してキーを開く必要があります。 ただし、キーを開くと、必要な回数 だけ SHRegQueryUSValue を使用できます。 同じキーから複数の値を取得する必要がある場合は、キーが 1 回だけ開かれるので、 通常、SHRegQueryUSValue への複数の呼び出しを使用する方が SHRegGetUSValue よりも効率的です。

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 4.71 以降)