다음을 통해 공유


RtlUTF8ToUnicodeN 함수

UTF-8(8비트 유니코드 변환 형식) 코드 페이지를 사용하여 지정된 소스 문자열을 유니코드 문자열로 변환합니다.

문법

NTSTATUS WINAPI RtlUTF8ToUnicodeN(
  _Out_     PWSTR  UnicodeStringDestination,
  _In_      ULONG  UnicodeStringMaxByteCount,
  _Out_opt_ PULONG UnicodeStringActualByteCount,
  _In_      PCCH   UTF8StringSource,
  _In_      ULONG  UTF8StringByteCount
);

매개 변수

UnicodeStringDestination [out]

변환된 문자열을 수신하는 호출자 할당 버퍼에 대한 포인터입니다.

UnicodeStringMaxByteCount [in]

UnicodeStringDestination에 쓸 최대 바이트 수입니다. 이 값으로 인해 번역된 문자열이 잘리면 RtlUTF8ToUnicodeN 은 오류 상태를 반환합니다.

UnicodeStringActualByteCount [out, optional]

변환된 문자열의 길이(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다. 문자열이 잘리면 반환된 숫자는 잘린 실제 문자열 수를 계산합니다.

UTF8StringSource [in]

번역할 문자열에 대한 포인터입니다.

UTF8StringByteCount [in]

UTF8StringSource의 문자열 크기(바이트)입니다.

반환 값

RtlUTF8ToUnicodeN 은 다음 NTSTATUS 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
문자열이 유니코드로 변환되었습니다.
STATUS_SOME_NOT_MAPPED
잘못된 입력 문자를 발견하여 대체했습니다. 이 상태는 성공 상태로 간주됩니다.
파라미터 값이 잘못되었습니다
UnicodeStringDestinationUnicodeStringActualByteCount에 대한 두 포인터는 모두 NULL이었습니다.
STATUS_INVALID_PARAMETER_4
UTF8StringSourceNULL입니다.
STATUS_BUFFER_TOO_SMALL
UnicodeStringDestination 이 잘렸습니다.

 

비고

UnicodeStringActualByteCount는 선택 사항이며 NULL일 수 있지만 수신된 길이를 사용하여 변환에 성공했는지 여부를 확인할 수 있으므로 호출자는 스토리지를 제공해야 합니다.

출력이 잘리고 잘못된 입력 문자가 발견되면 함수는 STATUS_BUFFER_TOO_SMALL 오류를 반환합니다.

UnicodeStringDestinationNULL로 설정된 경우 함수는 유니코드StringActualByteCount에서 잘림 없이 번역된 문자열을 호스트하는 데 필요한 바이트 수를 반환합니다.

UnicodeStringDestinationUTF8StringSource 포인터가 동일하지 않는 한 RtlUTF8ToUnicodeN은 원본 문자열을 수정하지 않습니다. 반환된 유니코드 문자열이 null로 종료되지 않습니다.

RtlUTF8ToUnicodeN의 호출자는 IRQL < DISPATCH_LEVEL 실행 중이어야 합니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트
Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 R2 [데스크톱 앱만 해당]
헤더
Wdm.h
동적 링크 라이브러리 (DLL)
Ntdll.dll

참고하십시오

rtlUnicodeToUTF8N