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


Функция RtlUnicodeStringInitEx (ntstrsafe.h)

Функция RtlUnicodeStringInitEx инициализирует структуру UNICODE_STRING.

Синтаксис

NTSTRSAFEDDI RtlUnicodeStringInitEx(
  [out]          PUNICODE_STRING  DestinationString,
  [in, optional] NTSTRSAFE_PCWSTR pszSrc,
  [in]           DWORD            dwFlags
);

Параметры

[out] DestinationString

Необязательный. Указатель на инициализацию UNICODE_STRING структуры. Указатель pszSrc копируется в структуру UNICODE_STRING параметра DestinationStr ing. Максимальное количество символов в строке, на которую pszSrc указывает NTSTRSAFE_UNICODE_STRING_MAX_CCH. DestinationString можно NULL, но только если STRSAFE_IGNORE_NULLS заданы в dwFlags.

[in, optional] pszSrc

Необязательный. Указатель на константу строки, завершаемой значением NULL. Этот указатель строки будет скопирован в элемент буфера буфера структуры UNICODE_STRING, на которую указывает параметр DestinationString. Этот указатель строки может быть null.

[in] dwFlags

Определен следующий флаг:

STRSAFE_IGNORE_NULLS

Если этот флаг задан, исходный указатель может быть NULL. RtlUnicodeStringInitEx обрабатывает null указатели исходного буфера, такие как пустые строки (TEXT("")), которые можно скопировать.

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

RtlUnicodeStringInitEx возвращает одно из следующих значений NTSTATUS.

Возвращаемый код Описание
STATUS_SUCCESS
Это успешном состоянии означает, что исходные данные были представлены, строка была скопирована без усечения, а результирующий целевой буфер завершается значением NULL.
STATUS_INVALID_PARAMETER
Это состояние означает, что функция получила недопустимый входной параметр. Дополнительные сведения см. в следующем списке.
 

RtlUnicodeStringInitEx возвращает значение STATUS_INVALID_PARAMETER при возникновении одной из следующих ситуаций:

  • Длина строки, на которую указывает параметр pszSrc, больше NTSTRSAFE_UNICODE_STRING_MAX_CCH символов.
  • Указатель DestinationStringNULL, но указатель pszSrc не NULL.
Сведения об тестировании значений NTSTATUS см. в использование значений NTSTATUS.

Замечания

Функция RtlUnicodeStringInitEx выполняет следующие действия:

  • Задает элемент длину UNICODE_STRING структуры в байтах строки, на которую указывает параметр pszSrc.
  • Задает элемент MaximumLength структуры UNICODE_STRING длину (в байтах) строки, на которую указывает параметр pszSrc плюс 2 байта.
  • Задает элемент буфера структуры UNICODE_STRING адресом, который указывает параметр pszSrc.
Указатель DestinationString не может быть null, если флаг STRSAFE_IGNORE_NULLS не задан.

Дополнительные сведения о функциях безопасной строки см. в разделе Использование безопасных строковых функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows XP с пакетом обновления 1 (SP1).
целевая платформа Настольный
заголовка ntstrsafe.h (include Ntstrsafe.h)
библиотеки Ntstrsafe.lib
IRQL Любой, если управляемые строки всегда находятся в памяти, в противном случае PASSIVE_LEVEL

См. также

RtlUnicodeStringInit

UNICODE_STRING