WindowsCreateString 函数 (winstring.h)

基于指定的源字符串创建新的 HSTRING

语法

HRESULT WindowsCreateString(
  PCNZWCH sourceString,
  UINT32  length,
  HSTRING *string
);

参数

sourceString

类型:[in,可选] LPCWSTR

以 null 结尾的字符串,用作新 HSTRING 的源。 若要创建新的、空或 NULL 字符串,请为 sourceString 传递 NULL,为长度传递 0。

length

类型:[in] UINT32

sourceString 的长度,以 Unicode 字符为单位。 如果 sourceStringNULL,则必须为 0。

string

类型:[out] HSTRING*

指向新创建的 HSTRING 的指针;如果发生错误,则为 NULL字符串中的任何现有内容将被覆盖。 HSTRING 是标准句柄类型。

返回值

类型: HRESULT

此函数可以返回其中一个值。

返回代码 说明
S_OK
已成功创建 HSTRING
E_INVALIDARG
stringNULL
E_OUTOFMEMORY
未能分配新的 HSTRING
E_POINTER
sourceStringNULL长度 为非零。

注解

使用 WindowsCreateString 函数分配新的 HSTRING。 Windows 运行时将字符串复制到新 HSTRING 的后备缓冲区,并使用引用计数管理缓冲区生存期。 调用 WindowsCreateStringReference 函数以创建 快速传递字符串,该字符串使用现有字符串而不复制它。

调用 WindowsDeleteString 函数以取消分配 HSTRING。 对 WindowsCreateString 函数的每个调用都必须通过对 WindowsDeleteString 的调用进行匹配。

若要创建新的、空或 NULL 字符串,请为 sourceString 传递 NULL,为长度传递 0。

如果 sourceString 包含嵌入的 null 字符, WindowsCreateString 函数会将所有字符复制到终止 null 字符。

要求

   
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 winstring.h

另请参阅

WindowsCreateStringReference

WindowsDeleteString