Функция 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 параметра DestinationString. Максимальное число символов в строке, на которую указывает pszSrc , равно NTSTRSAFE_UNICODE_STRING_MAX_CCH. DestinationString может иметь значение NULL, но только если STRSAFE_IGNORE_NULLS задано в dwFlags.
[in, optional] pszSrc
Необязательный элемент. Указатель на строковую константу, завершаемую null. Этот строковый указатель будет скопирован в элемент Bufferструктуры UNICODE_STRING , на которую указывает параметр DestinationString . Этот указатель строки может иметь значение NULL.
[in] dwFlags
Определен следующий флаг:
STRSAFE_IGNORE_NULLS
Если этот флаг установлен, исходный указатель может иметь значение NULL. RtlUnicodeStringInitEx обрабатывает указатели исходного буфера NULL как пустые строки (TEXT("")), которые можно скопировать.
Возвращаемое значение
RtlUnicodeStringInitEx возвращает одно из следующих значений NTSTATUS.
Код возврата | Описание |
---|---|
|
Это состояние успешного выполнения означает, что исходные данные присутствовали, строка была скопирована без усечения, а результирующий буфер назначения завершается null. |
|
Это состояние ошибки означает, что функция получила недопустимый входной параметр. Дополнительные сведения см. в следующем списке. |
RtlUnicodeStringInitEx возвращает значение STATUS_INVALID_PARAMETER, если происходит одно из следующих действий:
- Длина строки, на которую указывает параметр pszSrc , превышает NTSTRSAFE_UNICODE_STRING_MAX_CCH символов.
- Указатель DestinationString имеет значение NULL, но указатель pszSrc не равен NULL.
Комментарии
Функция RtlUnicodeStringInitEx выполняет следующие действия:
- Задает элемент Lengthструктуры UNICODE_STRING длину в байтах строки, на которую указывает параметр pszSrc .
- Задает для элемента MaximumLengthструктуры UNICODE_STRING длину в байтах строки, на которую указывает параметр pszSrc , плюс 2 байта.
- Задает элементу Bufferструктуры UNICODE_STRING адрес, который задается параметром pszSrc .
Дополнительные сведения о функциях безопасных строк см. в разделе Использование безопасных строковых функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows XP с пакетом обновления 1 (SP1). |
Целевая платформа | Персональный компьютер |
Верхняя часть | ntstrsafe.h (включая Ntstrsafe.h) |
Библиотека | Ntstrsafe.lib |
IRQL | Любой, если строки, которыми осуществляется управление, всегда находятся в памяти, в противном случае PASSIVE_LEVEL |