Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PRESUTIL_SET_MULTI_SZ_VALUE

PRESUTIL_SET_MULTI_SZ_VALUE

コールバック

シグネチャ

DWORD PRESUTIL_SET_MULTI_SZ_VALUE(
    HKEY hkeyClusterKey,
    LPWSTR pszValueName,
    LPWSTR pszNewValue,
    DWORD cbNewValueSize,
    LPWSTR* ppszOutValue,
    DWORD* pcbOutValueSize
);

パラメーター

フィールド型説明
hkeyClusterKeyHKEYクラスターデータベース内で複数文字列値の場所を示すキーです。
pszValueNameLPWSTR更新する値の名前を格納した、null で終わる Unicode 文字列です。
pszNewValueLPWSTR新しい複数文字列値へのポインターです。
cbNewValueSizeDWORD新しい値のサイズです。
ppszOutValueLPWSTR*更新された値のコピーを受け取る文字列ポインターへのポインターです。使用する場合、呼び出し元は *ppszOutValue に対して LocalFree を呼び出す必要があります。
pcbOutValueSizeDWORD*新しい値のサイズを受け取るポインターです。

公式ドキュメント

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

戻り値

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

操作が失敗した場合、 この関数はシステムエラーコードを返します。返される可能性のあるエラーコードを次に示します。

戻り値 説明
ERROR_NOT_ENOUGH_MEMORY
メモリを割り当てようとしたときにエラーが発生しました。

解説(Remarks)

ResUtilSetMultiSzValue ユーティリティ関数は、新しい値のためのメモリを割り当て、クラスター API の関数 ClusterRegSetValue を呼び出します。

複数文字列値とは、null で終わる連続した小さな Unicode 文字列を格納し、最後の文字列の後にさらに null 文字が付いた大きな文字列です。

メモリリークを避けるため、*ppszOutValue に対して必ず LocalFree を呼び出してください。

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

ResUtilSetMultiSzValue は、上記以外のリソース DLL のエントリポイント関数やワーカースレッドからは安全に呼び出せます。詳細については、「Function Calls to Avoid in Resource DLLs」を参照してください。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)