SHRegWriteUSValueW 関数 (shlwapi.h)
ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) のレジストリ サブキーに値を書き込みます。
構文
LSTATUS SHRegWriteUSValueW(
[in] HUSKEY hUSKey,
LPCWSTR pwzValue,
[in] DWORD dwType,
[in] const void *pvData,
[in] DWORD cbData,
[in] DWORD dwFlags
);
パラメーター
[in] hUSKey
種類: ハスキー
現在開いているレジストリ サブキーへのハンドル。 サブキーは、KEY_SET_VALUEアクセス権を使用して開かれている必要があります。 詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。
このハンドルは 、SHRegOpenUSKey 関数を使用して取得できます。
pwzValue
TBD
[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_LINK (0x00000006)
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 以降) |