Функция 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 или более поздняя версия) |