Поделиться через


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

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

Синтаксис

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

Параметры

[in] psz

Тип: LPCTSTR

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

[out] ppwsz

Тип: LPTSTR*

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

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

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

Тип: HRESULT

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

Замечания

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

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)

См. также

StrDup