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