Функция RtlUnalignedStringCchLengthW (ntstrsafe.h)
Функция RtlUnalignedStringCchLengthW — это версия функции RtlStringCchLength , которая принимает неровный указатель на строку символов Юникода.
Синтаксис
NTSTRSAFEDDI RtlUnalignedStringCchLengthW(
[in] STRSAFE_PCUNZWCH psz,
[in] size_t cchMax,
[out, optional] size_t *pcchLength
);
Параметры
[in] psz
Предоставляет указатель на буфер, содержащий строку со значением NULL, длина которой RtlUnalignedStringCchLengthW будет проверка.
[in] cchMax
Предоставляет максимальное количество символов, допустимое в буфере, на который указывает psz , включая завершающий символ NULL. Это значение не может превышать NTSTRSAFE_MAX_CCH.
[out, optional] pcchLength
Необязательный элемент. Если вызывающий объект предоставляет указатель на адрес, отличный от NULL , функция загружает адрес длиной в символах строки, содержащейся в буфере, на который указывает psz . Длина не включает завершающий символ NULL строки.
Возвращаемое значение
RtlUnalignedStringCchLengthW возвращает одно из следующих значений NTSTATUS.
Код возврата | Описание |
---|---|
|
Это состояние успешного выполнения означает, что строка, в которую параметр psz не имеет значения NULL, а длина строки (включая завершающий символ NULL) меньше или равна символам cchMax . |
|
Это состояние ошибки означает, что значение в psz равно NULL, cchMax больше NTSTRSAFE_MAX_CCH или psz длиннее cchMax. |
Сведения о проверке значений NTSTATUS см. в разделе Использование значений NTSTATUS.
Комментарии
Функция RtlUnalignedStringCchLengthW доступна для процессорных архитектур, таких как Itanium и x64, которые вызывают исключения выравнивания при попытке программного обеспечения получить доступ к неровным данным. На этих процессорах можно использовать RtlUnalignedStringCchLengthW вместо RtlStringCchLength , чтобы избежать исключений выравнивания. (Для процессоров, которые не вызывают исключения выравнивания, RtlUnalignedStringCchLengthW эквивалентен RtlStringCchLength.)
Дополнительные сведения о безопасных строковых функциях см. в разделе Использование безопасных строковых функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP с пакетом обновления 1 (SP1) и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ntstrsafe.h (включая Ntstrsafe.h) |
Библиотека | Ntstrsafe.lib |
IRQL | Любое значение, если строки, которыми осуществляется управление, всегда находятся в памяти, в противном случае PASSIVE_LEVEL |