RtlStringCchLengthA 함수(ntstrsafe.h)

RtlStringCchLengthWRtlStringCchLengthA 함수는 제공된 문자열의 길이를 문자로 결정합니다.

구문

NTSTRSAFEDDI RtlStringCchLengthA(
  [in] STRSAFE_PCNZCH psz,
  [in] size_t         cchMax,
       size_t         *pcchLength
);

매개 변수

[in] psz

null로 끝나는 문자열을 포함하는 버퍼에 대한 포인터로, 길이를 확인합니다.

[in] cchMax

종료 null 문자를 포함하여 psz가 가리키는 버퍼에서 허용되는 최대 문자 수입니다. 이 값은 NTSTRSAFE_MAX_CCH 초과할 수 없습니다.

pcchLength

호출자가 NULL 이 아닌 주소 포인터를 제공하는 경우 함수는 버퍼에 포함된 문자열의 길이(문자)를 사용하여 주소를 로드합니다. 길이에는 문자열의 종료 null 문자가 포함되지 않습니다.

반환 값

함수는 다음 표에 나열된 NTSTATUS 값 중 하나를 반환합니다. NTSTATUS 값을 테스트하는 방법에 대한 자세한 내용은 NTSTATUS 값 사용을 참조하세요.

반환 코드 설명
STATUS_SUCCESS
이 성공 상태 psz의 문자열이 NULL이 아니고 문자열의 길이(종료 null 문자 포함)가 cchMax 문자보다 작거나 같음을 의미합니다.
STATUS_INVALID_PARAMETER
이 오류 상태 psz의 값이 NULL이거나, cchMax가 NTSTRSAFE_MAX_CCH보다 크거나, pszcchMax보다 길다는 것을 의미합니다.

설명

RtlStringCchLengthWRtlStringCchLengthAstrlen 대신 사용해야 합니다. 문자열이 지정된 길이(문자)보다 크지 않은지 확인하는 데 사용됩니다. 해당 조건이 충족되면 RtlStringCchLengthWRtlStringCchLengthA 는 종료되는 null 문자를 포함하지 않고 문자열의 현재 길이를 문자로 반환합니다.

RtlStringCchLengthW를 사용하여 유니코드 문자열을 처리하고 RtlStringCchLengthA를 사용하여 ANSI 문자열을 처리합니다. 사용하는 양식은 다음 표와 같이 데이터에 따라 달라집니다.

String 데이터 형식 문자열 리터럴 함수
WCHAR L"string" RtlStringCchLengthW
char "문자열" RtlStringCchLengthA
 

안전한 문자열 함수에 대한 자세한 내용은 Safe String Functions 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP에서 SP1(서비스 팩 1) 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 ntstrsafe.h(Ntstrsafe.h 포함)
라이브러리 Ntstrsafe.lib
IRQL 조작되는 문자열이 항상 메모리에 상주하는 경우 이고, 그렇지 않으면 PASSIVE_LEVEL

추가 정보

RtlStringCbLength