다음을 통해 공유


RtlStringCbLengthW 함수(ntstrsafe.h)

RtlStringCbLengthWRtlStringCbLengthA 함수는 제공된 문자열의 길이를 바이트 단위로 결정합니다.

통사론

NTSTRSAFEDDI RtlStringCbLengthW(
  [in] STRSAFE_PCNZWCH psz,
  [in] size_t          cbMax,
       size_t          *pcbLength
);

매개 변수

[in] psz

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

[in] cbMax

종료 null 문자를 포함하여 psz 가리키는 버퍼에서 허용되는 최대 바이트 수입니다.

유니코드 문자열의 경우 최대 바이트 수는 NTSTRSAFE_MAX_CCH * sizeof(WCHAR)입니다.

ANSI 문자열의 경우 최대 바이트 수는 NTSTRSAFE_MAX_CCH * sizeof(char)입니다.

pcbLength

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

반환 값

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

반환 코드 묘사
STATUS_SUCCESS
성공 상태는 psz 문자열이 NULL 않았으며 문자열 길이(종료 null 문자 포함)가 cbMax 문자보다 작거나 같음을 의미합니다.
STATUS_INVALID_PARAMETER
오류 상태는 psz 값이 NULL , cbMax NTSTRSAFE_MAX_CCH * sizeof(TCHAR)보다 크거나, pszcbMax보다 깁니다.

발언

RtlStringCbLengthWRtlStringCbLengthAstrlen대신 사용해야 합니다. 이러한 함수를 사용하여 문자열이 지정된 길이(바이트)보다 크지 않은지 확인합니다. 해당 조건이 충족되면 RtlStringCbLengthWRtlStringCbLengthA 종료 null 문자에 사용되는 바이트를 포함하지 않고 문자열의 현재 길이를 바이트 단위로 반환합니다.

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

문자열 데이터 형식 문자열 리터럴 기능
WCHAR L"string" rtlStringCbLengthW
문자 "string" RtlStringCbLengthA
 

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

요구 사항

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

참고 항목

RtlStringCchLength