Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функции RtlStringCchLengthW и RtlStringCchLengthA определяют длину в символах указанной строки.
Синтаксис
NTSTRSAFEDDI RtlStringCchLengthA(
[in] STRSAFE_PCNZCH psz,
[in] size_t cchMax,
size_t *pcchLength
);
Параметры
[in] psz
Указатель на буфер, содержащий строку, завершающую значение NULL, длину которого будет проверяться.
[in] cchMax
Максимальное число символов, разрешенных в буфере, на которое указывает psz, включая завершающийся символ NULL. Это значение не может превышать NTSTRSAFE_MAX_CCH.
pcchLength
Если вызывающий объект предоставляет указатель адресов, отличный отNULL, функция загружает адрес длиной в символах строки, содержащейся в буфере. Длина не включает завершающийся символ null строки.
Возвращаемое значение
Функция возвращает одно из значений NTSTATUS, перечисленных в следующей таблице. Сведения об тестировании значений NTSTATUS см. в использование значений NTSTATUS.
| Возвращаемый код | Описание |
|---|---|
|
Это состояние успешного выполнения означает, что строка в psz не была NULL, а длина строки (включая завершающий символ NULL) меньше или равно символам cchMax. |
|
Это состояние ошибки означает, что значение psz равно null, cchMax больше NTSTRSAFE_MAX_CCH или psz больше cchMax. |
Замечания
RtlStringCchLengthW и RtlStringCchLengthA следует использовать вместо strlen. Они используются для обеспечения того, чтобы строка не была больше заданной длины в символах. Если это условие выполнено, RtlStringCchLengthW и RtlStringCchLengthA вернуть текущую длину строки в символах, не включая завершающийся символ NULL.
Используйте RtlStringCchLengthW для обработки строк Юникода и RtlStringCchLengthA для обработки строк ANSI. Используемая форма зависит от данных, как показано в следующей таблице.
| Тип строковых данных | Строковый литерал | Функция |
|---|---|---|
| WCHAR | L"string" | RtlStringCchLengthW |
| char | "string" | RtlStringCchLengthA |
Дополнительные сведения о функциях безопасной строки см. в разделе Использование безопасных строковых функций.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Доступно в Windows XP с пакетом обновления 1 (SP1) и более поздними версиями Windows. |
| целевая платформа | Настольный |
| заголовка | ntstrsafe.h (include Ntstrsafe.h) |
| библиотеки | Ntstrsafe.lib |
| IRQL | Любой, если управляемые строки всегда находятся в памяти, в противном случае PASSIVE_LEVEL |