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 Professional、Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlwapi.h
Shlwapi.lib
DLL Shlwapi.dll (版本 5.0 或更高版本)

另请参阅

StrDup