Функция SHStrDupW (shlwapi.h)

Создает копию строки во вновь выделенной памяти.

Синтаксис

LWSTDAPI SHStrDupW(
  [in]  LPCWSTR psz,
  [out] LPWSTR  *ppwsz
);

Параметры

[in] psz

Тип: LPCTSTR

Указатель на строку, завершаемую нулевым значением, для копирования.

[out] ppwsz

Тип: LPTSTR*

Указатель на выделенную строку Юникода, содержащую результат. SHStrDup выделяет память для этой строки с помощью CoTaskMemAlloc. Вы должны освободить строку с помощью CoTaskMemFree , если она больше не нужна.

В случае сбоя это значение равно NULL.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения, или значение ошибки COM в противном случае.

Комментарии

Эта функция будет принимать строки Юникода или ANSI в качестве входных данных, но скопированная строка всегда является Юникодом.

Эта функция использует CoTaskMemAlloc для выделения памяти для скопированной строки. Эту память необходимо освободить с помощью CoTaskMemFree , если она больше не нужна.

Примечание

Заголовок shlwapi.h определяет SHStrDup в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя)

См. также раздел

StrDup