Функция 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.
Код возврата | Описание |
---|---|
|
Это состояние успешного выполнения означает, что функция успешно завершена. |
|
Это состояние ошибки означает, что функция получила недопустимый входной параметр. Дополнительные сведения см. в следующем списке. |
Если 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 указан недопустимый флаг.
Комментарии
Указатель SourceString не может иметь значение NULL , если не установлен флаг STRSAFE_IGNORE_NULLS.
Дополнительные сведения о функциях безопасных строк см. в разделе Использование безопасных строковых функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP с пакетом обновления 1 (SP1) и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ntstrsafe.h (включая Ntstrsafe.h) |
Библиотека | Ntstrsafe.lib |
IRQL | Любой, если строки, которыми осуществляется управление, всегда находятся в памяти, в противном случае PASSIVE_LEVEL |