Функция RtlStringCchLengthA (ntstrsafe.h)

Функции 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.

Возвращаемый код Описание
STATUS_SUCCESS
Это состояние успешного выполнения означает, что строка в psz не была NULL, а длина строки (включая завершающий символ NULL) меньше или равно символам cchMax.
STATUS_INVALID_PARAMETER
Это состояние ошибки означает, что значение 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

См. также

RtlStringCbLength