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


Функция 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->Length % sizeof(WCHAR) не равно нулю.
  • SourceString->MaximumLength % sizeof(WCHAR) не равно нулю.
  • SourceString->Length больше SourceString->MaximumLength.
  • SourceString->MaximumLength больше NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
  • буфер sourceString-> равно null, но SourceString— длина>или SourceString->MaximumLength не равно нулю.
  • Недопустимый флаг указывается для dwFlags.
Сведения об тестировании значений NTSTATUS см. в использование значений NTSTATUS.

Замечания

Указатель SourceString нельзя null, если флаг STRSAFE_IGNORE_NULLS не задан.

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

Требования

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

См. также

RtlUnicodeStringValidate

UNICODE_STRING