SHRegWriteUSValueA 関数 (shlwapi.h)

ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) のレジストリ サブキーに値を書き込みます。

構文

LSTATUS SHRegWriteUSValueA(
  [in] HUSKEY     hUSKey,
  [in] LPCSTR     pszValue,
  [in] DWORD      dwType,
  [in] const void *pvData,
  [in] DWORD      cbData,
  [in] DWORD      dwFlags
);

パラメーター

[in] hUSKey

種類: ハスキー

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

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

[in] pszValue

型: LPCTSTR

値の名前を指定する null で終わる文字列へのポインター。 この値は、 hUSKey で指定されたサブキーのエントリです。 この名前の値がまだサブキーに存在しない場合は、追加されます。

このパラメーターが NULL または空の文字列の場合、関数はサブキーの既定値の型とデータを設定します。

[in] dwType

型: DWORD

pszValue で指定された値に格納されるデータの型。 Winnt.h および Wdm.h で定義されている次のレジストリ値の型のいずれか。

REG_NONE (0x00000000)

REG_SZ (0x00000001)

REG_EXPAND_SZ (0x00000002)

REG_BINARY (0x00000003)

REG_DWORD (0x00000004)

REG_DWORD_LITTLE_ENDIAN (0x00000004)

REG_DWORD_BIG_ENDIAN (0x00000005)

REG_MULTI_SZ (0x00000007)

REG_RESOURCE_LIST (0x00000008)

REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)

REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)

REG_QWORD (0x0000000B)

REG_QWORD_LITTLE_ENDIAN (0x0000000B)

[in] pvData

型: const void*

pszValue で指定された値に設定するデータへのポインター。 REG_SZなどの文字列ベースの型の場合、文字列は null で終わる必要があります。 REG_MULTI_SZデータ型では、文字列を 2 つの null 文字で終了する必要があります。 パス内の円記号の前には、エスケープ文字として別の円記号を付ける必要があります。 たとえば、文字列 "C:\mydir\myfile" を格納するには、"C:\mydir\myfile" を指定します。

[in] cbData

型: DWORD

pvData パラメーターが指すデータのサイズ (バイト単位)。 データの種類がREG_SZ、REG_EXPAND_SZ、またはREG_MULTI_SZの場合、 cbData には終端の null 文字または文字のサイズを含める必要があります。

[in] dwFlags

型: DWORD

データの書き込み先となるサブツリーを示すフラグ。 次の値の 1 つ以上:

SHREGSET_HKCU (0x00000001)

pszValue で指定された名前の値が現在指定されたサブキーの下に存在しない場合にのみ、HKEY_CURRENT_USERに書き込みます。

SHREGSET_FORCE_HKCU (0x00000002)

HKEY_CURRENT_USERに書き込 みますpszValue で指定された名前の値が既に存在する場合は、上書きされます。

SHREGSET_HKLM (0x00000004)

pszValue で指定された名前の値が現在、指定されたサブキーの下に存在しない場合にのみ、HKEY_LOCAL_MACHINEに書き込みます。

SHREGSET_FORCE_HKLM (0x00000008)

HKEY_LOCAL_MACHINEに書き込 みますpszValue で指定された名前の値が既に存在する場合は、上書きされます。

SHREGSET_DEFAULT (0x00000006)

(SHREGSET_FORCE_HKCU SHREGSET_HKLM | ) と同じです。

戻り値

種類: LSTATUS

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

注釈

SHRegWriteUSValue を使用するには、まず SHRegOpenUSKey を使用してキーを開く必要があります。 キーを開くと、必要な回数 だけ SHRegWriteUSValue を 使用できます。

1 つの値のみを書き込む必要がある場合は、 SHRegSetUSValue を使用する必要があります。この両方でキーが開き、値が書き込まれます。

同じキーに複数の値を書き込む必要がある場合、 SHRegWriteUSValue への複数の呼び出しは通常、 SHRegSetUSValue よりも効率的です。これは、キーが 1 回だけ開かれるためです。

注意

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

要件

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

こちらもご覧ください

レジストリ値の型