RtlUnicodeToUTF8N 함수
UTF-8(8비트 유니코드 변환 형식) 코드 페이지를 사용하여 지정된 유니코드 문자열을 새 문자열로 변환합니다.
구문
NTSTATUS WINAPI RtlUnicodeToUTF8N(
_Out_ PCHAR UTF8StringDestination,
_In_ ULONG UTF8StringMaxByteCount,
_Out_opt_ PULONG UTF8StringActualByteCount,
_In_ PCWSTR UnicodeStringSource,
_In_ ULONG UnicodeStringByteCount
);
매개 변수
-
UTF8StringDestination [out]
-
변환된 문자열을 수신하기 위해 호출자가 할당한 버퍼에 대한 포인터입니다.
-
UTF8StringMaxByteCount [in]
-
UTF8StringDestination에 쓸 최대 바이트 수입니다. 이 값으로 인해 번역된 문자열이 잘리면 RtlUnicodeToUTF8N에서 오류 상태 반환합니다.
-
UTF8StringActualByteCount [out, optional]
-
변환된 문자열의 길이(바이트)를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. 문자열이 잘린 경우 반환된 숫자는 실제 잘린 문자열 수를 계산합니다.
-
UnicodeStringSource [in]
-
번역할 유니코드 소스 문자열에 대한 포인터입니다.
-
*UnicodeStringByteCount * [in]
-
UnicodeStringSource 매개 변수가 가리키는 유니코드 소스 문자열의 바이트 수를 지정합니다.
반환 값
RtlUnicodeToUTF8N 은 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
유니코드 문자열이 UTF-8로 변환되었습니다. |
|
잘못된 입력 문자를 발견하여 바꿉니다. 이 상태 성공 상태 간주됩니다. |
|
UTF8StringDestination 및 UTF8StringActualByteCount에 대한 두 포인터는 모두 NULL이었습니다. |
|
UnicodeStringSource는 NULL입니다. |
|
UTF8StringDestination 이 잘렸습니다. |
설명
UTF8StringActualByteCount는 선택 사항이며 NULL일 수 있지만 수신된 길이를 사용하여 변환이 성공했는지 여부를 확인할 수 있으므로 호출자는 스토리지를 제공해야 합니다. 이 루틴은 원본 문자열을 수정하지 않습니다. 지정된 UnicodeStringSource 에 NULL 종결자가 포함되어 있고 지정된 UTF8StringMaxByteCount 가 잘림을 일으키지 않은 경우 null로 종료된 UTF-8 문자열을 반환합니다.
출력이 잘리고 잘못된 입력 문자가 발견되면 함수는 STATUS_BUFFER_TOO_SMALL 오류를 반환합니다.
UTF8StringDestination이 NULL로 설정된 경우 함수는 UTF8StringActualByteCount에서 잘림 없이 번역된 문자열을 호스트하는 데 필요한 바이트 수를 반환합니다.
RtlUnicodeToUTF8N의 호출자는 IRQL < DISPATCH_LEVEL 실행 중이어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 R2 [데스크톱 앱만 해당] |
헤더 |
|
DLL |
|
추가 정보