UtilAssembleStringsWithAlloc 函数

UtilAssembleStringsWithAlloc 函数分配字符串并使用字符串表提供的字符串设置其格式。 此函数使用 StringCchPrintf 创建格式化字符串。

语法

HRESULT UtilAssembleStringsWithAlloc(
  _Out_ LPWSTR  *Buffer,
  _In_  UINT    BufferMax,
  _In_  LPCWSTR InputFormat,
  _In_  LPCWSTR InputString,
  _In_  BOOLEAN AdditionalArgument,
  _In_  ULONG   AdditionalValue
);

参数

Buffer [out]

类型: LPWSTR*

将放置新分配的字符串的位置。 当不再需要字符串时,必须使用 CoTaskMemFree 释放该字符串。

BufferMax [in]

类型: UINT

Buffer 分配的字符串中允许的最大字符数。 如果生成的格式化字符串长于指定的字符数,则会将其截断并用 null 结尾。

注意

此参数不能设置为零。

InputFormat [in]

类型: LPCWSTR

字符串表中表示传递给 StringCchPrintf 的格式参数的字符串资源。 它是使用 MAKEINTRESOURCE 构造的。

资源字符串格式必须指定采用宽字符串的格式参数,或采用无符号长字符串和宽字符串的格式参数。

InputString [in]

类型: LPCWSTR

字符串表中的字符串资源,表示传递给 StringCchPrintf 的参数,以取代格式参数中的宽字符串。 它是使用 MAKEINTRESOURCE 构造的。

AdditionalArgument [in]

类型: BOOLEAN

如此 如果 AdditionalValue 应作为第一个格式参数传递到 StringCchPrintf;否则,false (,并且将仅传递 由 InputString 标识的资源字符串) 。

AdditionalValue [in]

类型: ULONG

如果 AdditionalArgument 为 true,则作为第一个格式参数传递给 StringCchPrintf 的值。

返回值

类型: HRESULT

可能的返回值包括但不限于以下内容。

返回代码 说明
S_OK
操作成功。
E_INVALIDARG
未正确提供一个或多个参数。

要求

要求
最低受支持的客户端
Windows 8 [仅限桌面应用]
最低受支持的服务器
Windows Server 2012 [仅限桌面应用]
标头
Ndattributils.h

另请参阅

UtilStringCopyWithAlloc

UtilLoadStringWithAlloc

StringCchPrintf

MAKEINTRESOURCE

CoTaskMemFree