Функция SysReAllocStringLen (oleauto.h)

Создает новый объект BSTR, содержащий указанное количество символов из старого BSTR, и освобождает старый BSTR.

Синтаксис

INT SysReAllocStringLen(
  [in, out]      BSTR          *pbstr,
  [in, optional] const OLECHAR *psz,
  [in]           unsigned int  len
);

Параметры

[in, out] pbstr

Ранее выделенная строка.

[in, optional] psz

Строка, из которой копируются символы len , или NULL, чтобы сохранить строку неинициализированной.

[in] len

Число символов для копирования. После этого помещается пустой символ, выделяя в общей сложности len плюс один символ.

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

Код возврата Описание
TRUE
Строка успешно перераспределирована.
FALSE
Недостаточно памяти.

Комментарии

Выделяет новую строку, копирует в нее символы len из переданной строки, а затем добавляет символ NULL. Освобождает BSTR, на который сейчас ссылается pbstr, и сбрасывает pbstr , чтобы указать на новый BSTR. Если psz имеет значение NULL, строка длины len выделяется, но не инициализируется.

Строка psz может содержать внедренные символы NULL и не должна заканчиваться значением NULL.

Если этой функции передается указатель NULL, произойдет нарушение доступа, и программа завершится сбоем. Вы несете ответственность за защиту этой функции от указателей NULL.

Требования

Требование Значение
Целевая платформа Windows
Header oleauto.h
Библиотека OleAut32.lib
DLL OleAut32.dll

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

Функции управления строками