次の方法で共有


ResUtilSetMultiSzValue 関数 (resapi.h)

クラスター データベースに複数の文字列値を設定します。 PRESUTIL_SET_MULTI_SZ_VALUE型は、この関数へのポインターを定義します。

構文

DWORD ResUtilSetMultiSzValue(
  [in]                HKEY    hkeyClusterKey,
  [in]                LPCWSTR pszValueName,
  [in]                LPCWSTR pszNewValue,
  [in]                DWORD   cbNewValueSize,
  [out, optional]     LPWSTR  *ppszOutValue,
  [in, out, optional] LPDWORD pcbOutValueSize
);

パラメーター

[in] hkeyClusterKey

クラスター データベース内の複数の文字列値の場所を識別するキー。

[in] pszValueName

更新する値の名前を含む Null で終わる Unicode 文字列。

[in] pszNewValue

新しい複数の文字列値へのポインター。

[in] cbNewValueSize

新しい値のサイズ。

[out, optional] ppszOutValue

更新された値のコピーを受け取る文字列ポインターへのポインター。 使用する場合、呼び出し元は *ppszOutValueLocalFree を呼び出す必要があります。

[in, out, optional] pcbOutValueSize

新しい値のサイズを受け取るポインター。

戻り値

操作が成功した場合、関数は ERROR_SUCCESSを返します。

操作が失敗した場合、関数は システム エラー コードを返します。 考えられるエラー コードを次に示します。

リターン コード 説明
ERROR_NOT_ENOUGH_MEMORY
メモリの割り当て中にエラーが発生しました。

注釈

ResUtilSetMultiSzValue ユーティリティ関数は、新しい値にメモリを割り当て、Cluster API 関数 ClusterRegSetValue を呼び出します。

複数の文字列値は、小さくて連続した null で終わる Unicode 文字列を含み、最後の文字列の後に余分な null 文字で終わる大きな文字列です。

メモリ リークを回避するには、必ず *ppszOutValueLocalFree を呼び出してください。

次のリソース DLL エントリ ポイント関数から ResUtilSetMultiSzValue を呼び出さないでください。

ResUtilSetMultiSzValue は、他のリソース DLL エントリ ポイント関数またはワーカー スレッドから安全に呼び出すことができます。 詳細については、「 リソース DLL での回避する関数呼び出し」を参照してください

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
対象プラットフォーム Windows
ヘッダー resapi.h
Library ResUtils.lib
[DLL] ResUtils.dll

こちらもご覧ください

ClusterRegSetValue

ResUtilSetBinaryValue

ResUtilSetDwordValue

ResUtilSetExpandSzValue

ResUtilSetSzValue