SHStrDupA 函数 (shlwapi.h)

在新分配的内存中复制字符串。

语法

LWSTDAPI SHStrDupA(
  [in]  LPCSTR psz,
  [out] LPWSTR *ppwsz
);

参数

[in] psz

类型: LPCTSTR

指向要复制的以 null 结尾的字符串的指针。

[out] ppwsz

类型: LPTSTR*

指向包含结果的已分配 Unicode 字符串的指针。 SHStrDup 使用 CoTaskMemAlloc 为此字符串分配内存。 当不再需要该字符串时,应使用 CoTaskMemFree 释放该字符串。

如果失败,此值为 NULL。

返回值

类型: HRESULT

如果成功,则返回S_OK,否则返回 COM 错误值。

注解

此函数将采用 Unicode 或 ANSI 字符串作为输入,但复制的字符串始终为 Unicode。

此函数使用 CoTaskMemAlloc 为复制的字符串分配内存。 当不再需要时,必须使用 CoTaskMemFree 释放此内存。

注意

shlwapi.h 标头将 SHStrDup 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (5.0 或更高版本)

另请参阅

StrDup