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


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

Функция RtlUnicodeStringValidateEx проверяет содержимое структуры UNICODE_STRING .

Синтаксис

NTSTRSAFEDDI RtlUnicodeStringValidateEx(
  [in] PCUNICODE_STRING SourceString,
  [in] DWORD            dwFlags
);

Параметры

[in] SourceString

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

[in] dwFlags

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

STRSAFE_IGNORE_NULLS

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

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

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

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

Если STRSAFE_IGNORE_NULLS не задано в dwFlags, RtlUnicodeStringValidateEx возвращает значение STATUS_INVALID_PARAMETER при возникновении одного из следующих действий:

  • SourceString->Длина % sizeof(WCHAR) не равна нулю.
  • SourceString->MaximumLength % sizeof(WCHAR) не равно нулю.
  • SourceString->Длина больше , чем SourceString->MaximumLength.
  • SourceString->MaximumLength больше NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
  • SourceString->Буфер равен NULL , но SourceString->Length или SourceString->MaximumLength не равно нулю.
  • Для dwFlags указан недопустимый флаг.
Сведения о проверке значений NTSTATUS см. в разделе Использование значений NTSTATUS.

Комментарии

Указатель SourceString не может иметь значение NULL , если не установлен флаг STRSAFE_IGNORE_NULLS.

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

Требования

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

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

RtlUnicodeStringValidate

UNICODE_STRING